Данный хак позволяет создать «вечное» объявление.
Постановка задачи
Столкнулся с тем, что стандартный движок не позволяет создать объявлений на достаточно длительный срок. Максимум, на что можно рассчитывать — это пятьдесят дней.
Реализация
Я добавил еще несколько возможностей:
* Три месяца. Точнее, 92 дня.
* Год. 366 дней.
* Вечное объявление. 2147483647 дней или 5 883 517 лет. Думаю, почти шести миллионов лет вполне достаточно, чтобы объявление можно было называть вечным )))
Это число 2147483647 — максимально возможное целое положительное число, которое может хранится в поле pubdays таблицы cms_board_items. Для этого поля установлен тип int(11), поэтому это поле может хранить целое число от -2147483647 до +2147483647. Все просто.
Измененные файлы
components/board/model.php
templates/_default_/components/com_board_edit.tpl
Если Вы используете шаблон, отличный от дефолтного, файл com_board_edit.tpl следует перебросить в свой шаблон.
Версии движка
Хак тестировался на версии 1.10.4. Просмотрев код 1.10.5, могу утверждать, что хак применим на этой версии тоже.
Как ставить хак на движок
1. Распаковать архив в любое место.
2. Смержить упомянутые выше файлы. Для версии 1.10.4 можно залить содержимое архива в корень сайта, но только в том случае, если Вы уверены, что в этих файлах нет других хаков.
Как скачать
Скачать можно тут, бесплатно, то есть даром.
Куда говорить спасибо
Плюсик в карму поставьте :)
Благодарности
Я благодарен тем, кто подсказал мне эту идею.
Реклама #
RIf 9 лет назад #
Странник 9 лет назад #
letsgo 9 лет назад #
Странник 9 лет назад #
В стандартном движке Первой ветки нет регулировки "Ничего не делать". Регулировка "не делать" относится к vip-объявлению и на срок показа объявления не влияет. В коде модели доски объявлений, в методе getAdverts() где и вычисляется число непросроченных объявлений (эти записи и передаются в файл com_board_items.tpl) значение поля vipdate вообще никак не влияет на вычисление числа непросроченных объявлений.
Смысл моего хака в том и заключается, чтобы сделать вечное объявление, у которого срок публикации достаточно велик и у которого никогда не выводится пометка "Просрочено".
Я не знаю, что Вы имели ввиду, когда написали "А вот сделать "Просрочено", было бы весьма нужнее." Будьте добры - излагайте свои мысли яснее. Эта функция и так реализована в стандартном движке, когда объявление просматривает пользователь от модератора и выше. Простой пользователь просроченных объявлений не увидит. Конечно, можно сделать, чтобы он их видел, с пометкой "Просрочено" - достаточно вызвать метод getAdverts() с первым параметром, равным true. Только вот нафига пользователю видеть просроченные объявления - я никак понять не с состоянии.
Хотя если кому-то понадобится поизвращаться - напишите мне в личку, я напишу ему такой хак. За деньги.
Странник 9 лет назад #
Странник 9 лет назад #
В основной записи ссылка на скачивания тоже исправлена.
Спасибо.
letsgo 9 лет назад #
Странник 9 лет назад #
letsgo 9 лет назад #
Но как правило вообще нельзя допускать прыгания страниц с ошибкой 404 - отсюда правильно будет всем поставить "Ничего не делать". То есть ваш вариант предполагает, что будут удаляться объявления - а это весьма плохо в отношениях с поисковиком. Отсюда и мой пессимизм к доработке.
Сделали да и бог с ним. Просто задача не решается. Для объявлений ведь что нужно:
- Похожие объявления (плагин Марата)
- Возможность удалять в админке пачками
- Указание неактуальности объявления для пользователя
- Нормальный поиск в админке по объявлениям
- Модуль "релеватные объявления" из того же раздела
Ну это так, вдруг надумаете что то "странное сделать".
Странник 9 лет назад #
Если серьезно, неужели вы думаете, что я перед тем, как браться за свою разработку, не нашел и не исследовал то, что сделали до меня?
У меня большое подозрение, что у вас на меня личный зуб, поэтому вы в качестве критики даже готовы писать ахинею и выглядеть некомильфо, лишь бы хоть что-то написать.
Вы пишете "задача не решается", когда я задачу, которую сам перед собой сформулировал, решил. А решив, выложил для всеобщего пользования. Получается, вам все равно что писать, лишь бы написать в пику?
Пишите дальше, улыбает.
VopisUVD 9 лет назад #
Нужно конструктивное обсуждение проблем доски объявлений с выявлением всех проблем и возможных решений.
Raiden 9 лет назад #
Странник 9 лет назад #
Выполнив, поделился со всеми, бесплатно. Так еще и недовольны.
Если кому то нужен платный вариант доски объявлений, пусть готовит деньги и предоставляет подробное ТЗ. Тогда и критикует, по исполнении.
stealthdebuger 9 лет назад #
Keep 8 лет назад #
Странник 8 лет назад #
Для более поздних версий хак не тестировался.
Только что просмотрел код в 1.10.6 и сравнил с кодом хака. В модели надо заменить две строчки, в шаблоне добавить строчки в двух местах. Не понимаю, что там можно сделать не так. Если сами не справитесь, пишите в личку.
Keep 8 лет назад #
Спасибо.
Странник 8 лет назад #
Рад, что все заработало. Главное, идея кому-то пригодилась.