На форуме есть подобная тема с решениями для AdsManager 2.8... Вот решил добавлять все что найду, или наковыряю сам по версии AdsManager 2.9.5. Вы тоже не стесняйтесь, многим в помощь будет!
1. Как убрать имя пользователя, подавшего объявление (в кратком виде), - решение с других тем в версии AdsManager 2.9.5 не работало...
В общем нашел способ, вдруг кому-то будет полезным! На всякий случай: Joomla 2.5, AdsManager 2.9.5
Ищем файл по пути:
Ваш сайт/components/com_adsmanager/views/list/tmpl/default.phpи убираем вот такой код:
echo JText::_('ADSMANAGER_FROM')." ";
$target = TLink::getUserAdsLink($content->userid);
if ($conf->display_fullname == 1)
echo "<a href='".$target."'>".$content->fullname."</a><br/>";
else
echo "<a href='".$target."'>".$content->user."</a><br/>";
2. У кого в пункте "Мои объявлени", а также в обширном виде объявления вместо слова "редактировать" (имеется в виду редактировать объявление) стоит слово "Обновить" - нужно перевести его в языковом файле.
итак: идем по пути:
Ваш сайт/www/language/ru-RU/ru-RU.com_adsmanager.iniи ищем пункт "
ADSMANAGER_CONTENT_EDIT="Обновить"" - вместо слова "Обновить пишем свое! (Я написал "Редактировать")
3. Вместо: "Просмотреть все объявления от..." просто ссылка на профиль пользователя, либо и тот и другой вариант.
Проблему решил методом собственных проб и ошибок!
Кому интерестно:
в файле www/components/com_adsmanager/views/details/tmpl/default.php - примерно 67 строкаПервый вариант - убрать надпись "Просмотреть все объявления от ***" и вместо нее добавить "Посмотреть профиль ***"
вместо:
<div>
<?php
if ($this->content->userid != 0)
{
echo JText::_('ADSMANAGER_SHOW_OTHERS');
$target = TLink::getUserAdsLink($this->content->userid);
if ($conf->display_fullname == 1)
echo "<a href='$target'><b>".$this->content->fullname."</b></a>";
else
echo "<a href='$target'><b>".$this->content->user."</b></a>";
if ($this->userid == $this->content->userid) {
?>
<div>
<?php
$target = TRoute::_("index.php?option=com_adsmanager&task=write&catid=".$this->content->category."&id=".$this->content->id);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
echo " ";
$target = TRoute::_("index.php?option=com_adsmanager&task=delete&catid=".$this->content->category."&id=".$this->content->id);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
?>
</div>
<?php
}
}
?>
</div>
вставляем
<div>
<?php
if ($this->content->userid != 0)
{
$target = JRoute::_("index.php?option=com_comprofiler&task=userProfile&tab=AdsManagerTab&user=".$this->content->userid."&Itemid=".$this->Itemid);
echo 'Посмотреть профиль ';
echo "<a href='$target'><b>".$this->content->user."</b></a>";
echo "<br>";
if ($this->userid == $this->content->userid) {
?>
<div>
<?php
$target = TRoute::_("index.php?option=com_adsmanager&task=write&catid=".$this->content->category."&id=".$this->content->id);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
echo " ";
$target = TRoute::_("index.php?option=com_adsmanager&task=delete&catid=".$this->content->category."&id=".$this->content->id);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
?>
</div>
<?php
}
}
?>
</div>
Второй вариант - оставить "Просмотреть все объявления от ***" и сверху добавить "Посмотреть профиль ***"
вместо
<div>
<?php
if ($this->content->userid != 0)
{
echo JText::_('ADSMANAGER_SHOW_OTHERS');
$target = TLink::getUserAdsLink($this->content->userid);
if ($conf->display_fullname == 1)
echo "<a href='$target'><b>".$this->content->fullname."</b></a>";
else
echo "<a href='$target'><b>".$this->content->user."</b></a>";
if ($this->userid == $this->content->userid) {
?>
<div>
<?php
$target = TRoute::_("index.php?option=com_adsmanager&task=write&catid=".$this->content->category."&id=".$this->content->id);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
echo " ";
$target = TRoute::_("index.php?option=com_adsmanager&task=delete&catid=".$this->content->category."&id=".$this->content->id);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
?>
</div>
<?php
}
}
?>
</div>
вставляем
<div>
<?php
if ($this->content->userid != 0)
{
$target = JRoute::_("index.php?option=com_comprofiler&task=userProfile&tab=AdsManagerTab&user=".$this->content->userid."&Itemid=".$this->Itemid);
echo 'Посмотреть профиль ';
echo "<a href='$target'><b>".$this->content->user."</b></a>";
echo "<br>";
echo JText::_('ADSMANAGER_SHOW_OTHERS');
$target = TLink::getUserAdsLink($this->content->userid);
if ($conf->display_fullname == 1)
echo "<a href='$target'><b>".$this->content->fullname."</b></a>";
else
echo "<a href='$target'><b>".$this->content->user."</b></a>";
if ($this->userid == $this->content->userid) {
?>
<div>
<?php
$target = TRoute::_("index.php?option=com_adsmanager&task=write&catid=".$this->content->category."&id=".$this->content->id);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
echo " ";
$target = TRoute::_("index.php?option=com_adsmanager&task=delete&catid=".$this->content->category."&id=".$this->content->id);
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
?>
</div>
<?php
}
}
?>
</div>
4. заголовок "Объявления" на главной странице - убрать!.
Чтобы его убрать, необходимо поработать с файлом, путь к которому:
Вашсайт\components\com_adsmanager\views\front\tmpl\default.phpА именно удалить или закомментировать строчку
<h1 class="contentheading"><?php echo JText::_('ADSMANAGER_FRONT_TITLE'); ?></h1>5. В форме добавления/изменения сообщений не переведена кнопка загрузки изображений
Start upload. Чтобы это исправить следуем по пути:
Ваш сайт/components/com_adsmanager/js/plupload/i18n/ru.js и добавляем:
'Start upload' : 'Загрузить файлы'6. Добавить ссылку на правила на странице добавления объявления!
На странице добавления нового объявления есть такая строчка
"
Пожалуйста, ознакомьтесь с правилами перед размещением объявления!"
которое не содержит ссылки на эти самые правила (а это было бы логично)
Чтобы добавить ссылку на правила идем в файл:
Ваш сайт/language/ru-RU/ru-RU.com_adsmanager.iniНаходим строчку:
ADSMANAGER_RULESREAD="<b>Пожалуйста, ознакомьтесь с правилами перед размещением объявления!"</b>И нужные слова оформляем ссылкой (я сделал ссылкой слово "правилами"):
ADSMANAGER_RULESREAD="<b>Пожалуйста, ознакомьтесь с <a href="http://Ваш сайт.ru/pravila.html">правилами </a>перед размещением объявления!</b>"7. Формат даты в списке объявлений - вместо
месяц-день-год выставляем
день-месяц-год!
Идем сюда:
Ваш сайт/language/ru-RU/ru-RU.com_adsmanager.iniИщем:
ADSMANAGER_DATE_FORMAT_LC= и меняем местами порядок отображения дней, месяцев, лет, как вам угодно.
8. Как организовать поле поиска по цене "от" и "до" - выводим либо через модуль, либо указываем в настройках AdsManager возможность вывода поиска.
Многие, ну встречал, советовали править код и так далее... способ полегче: напишу для удобства чтения по пунктам!
1) В админке, идем в настройки компонента AdsManager.
2) Выбираем там вкладку "Поля" и заходим в поле "ad_price" (если у вас другое название поля цены, то в Ваш вариант).
3) Там ищем пункт "Опция поиска?" и указываем "Да"
4) В самом низу есть пункт "Search Mode" (у меня так, мож у кого переведен на русский язык... в общем он самый последний в настройках данного поля). Так вот, тут нужно выбрать из выпадающего меню "MinMaX" (мож у кого также переведено но суть ясна так сказать)
Теперь у Вас в расширенном поиске графа "цена" будет с двумя значениями "от" и "до", в которые люди смогут вбивать диапазон цен!
Ах да, забыл, вдруг кто не знает: чтобы включить поиск в категории (не через модуль), - в настройках AdsManager заходим на вкладку "Конфигурация", там выбираем вкладку "Показать" и в ней пункт "Показать поиск по текстовым полям" - выбираем "ДА"!
Ну и вдруг, у вас также окажется, что после данных манипуляций, в поиске будет прописываться "Min" и "Max" вместо могучего русского, то идем по пути (тут два варианта, или оба, в зависимости чем Вы поиск выводите):
первый вариант (для поиска через AdsManager, который выводится в категориях) -
Ваш сайт/language/ru-RU/ru-RU.com_adsmanager.iniИ дописываем там это:
ADSMANAGER_MINMAX_MIN=" от "
ADSMANAGER_MINMAX_MAX=" до "второй вариант (для поиска через модуль "AdsManager - Поиск") -
Ваш сайт/language/ru-RU/ru-RU.mod_adsmanager_search.iniИ дописываем там это:
ADSMANAGER_MINMAX_MIN=" от "
ADSMANAGER_MINMAX_MAX=" до "Вместо слов "от" и "до" можете указывать свои выражения в зависимости от потребностей!
9. Сделать
правильное поднятие/обновление объявлений!
В общем, одна из самых туманных опций, которая не раз подымалась на этом форуме... в общем очень много было вариантов решения и глюков связанных с ними: то на какой-то версии не работает, то работает, но поднимает как-то не так... в общем, проштудировав кучу тем, собрав все во едино и добавив некоторые свои исправления, теперь (вроде) поднимает/обновляет объявления как-то так
))
Ну к сути: идем по пути
Ваш сайт/administrator/components/com_adsmanager/models/content.phpИщем в коде строку:
function renewContent($contentid,$ad_duration)Тут немного оправдаюсь, так как менял давно, - исходного файла нету и попытаюсь на "пальцах" расказать откуда и до куда так сказать менять код
Так вот, все что ниже этой строки:
function renewContent($contentid,$ad_duration) и до этой строки
function sendExpirationEmail($content,$conf) меняем на код:
{
$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = DATE_ADD(NOW(), INTERVAL +$ad_duration DAY), date_created = NOW(),recall_mail_sent=0,published=1 WHERE id=".(int)$contentid);
$this->_db->query();
}
После этого будет обновляться не только дата, но даже и время подачи (переподачи/обновления так сказать) объявления и оно, при нажатии пользователем кнопки "обновить", которая будет появляться у него в разделе "Мои объявления", будет подниматься в самый верх и будет прописываться дата/период до которого оно продлено (в зависимости от Ваших настроек!
Ах да, настройки...
После всего проделанного с кодом идем в админку Вашего сайта. далее опять по пунктам для удобства чтения:
1) Там заходим в настройки компонента AdsManager.
2) Вкладка "Конфигурация"
3) Вкладка "Истечение"
4) В этой вкладке выставляем: "Истечение" - "Да"
5) "Продолжительность жизни объявления (дней)" - укажите цыфру. Этот пункт означает, сколько дней объявление проживет на вашем сайте до удаления/снятия с публикации (но не путайте это с сроком появления кнопки "обновить" в меню "Мои объявления" у пользователя)
6) "Отправить напоминание по e-mail, до истечения срока" - на ваш вкус!
7) "Количество дней до истечения для отправки уведомлений" -
очень ВАЖНЫЙ ПУНКТ хоть и похабно описан, так вот, именно в этом пункте Вы выставляете цыфру, которая будет означать, за сколько дней до удаления/снятия с публикации должна появиться кнопка обновить и отправиться письмо на мыло (в случае, если Вы в предыдущем пункте указали "Да").
Если на примере: поставте в пункте "Продолжительность жизни объявления (дней)" число 30 и в пункте "Количество дней до истечения для отправки уведомлений" число 20. - Это будет значить, что после добавления объявления, кнопка "Обновить" появится через
10 дней после его добавления! Вот какая-то вот такая заумная математика
)
Ну и следующих два пункта в настройках этой вкладки по Вашему вкусу - они к данному делу не относятся!
P.S. Ох и понесло же меня сегодня с помощью)))) надеюсь данная инфа будет многим полезна, так как сам потратил уйму времени на это все!