Ну вот наконец-то у меня дошли руки до того, чтобы привести стандартный модуль вывода последних объявлений в MarketPlace к более симпатичному и понятному виду. Как ни крути, но стандартное отображение категории объявления (квартиры,шубы,дачи) под ее заголовком мне не нравилось, точнее сказать, мне хотелось чтобы там отображался тип предложения (куплю, продам, обменяю). Это более полезная информация под заголовком, нежели раздел в котором он находится. Еще мне захотелось изменить стандартную иконку, которая отображается напротив объявлений с фото на свою.

 

1. Для начала находим скрипт модуля marketplace latest 5  для Joomla 1.5 в папке /modules/mod_marketplace5, если он у вас не установлен, то скачать можно с официального сайта. Открываем его в Notepad ++ и переходим к строке номер 26, которая устанавливает считывание данных из базы:

$database->setQuery( "SELECT a.id, a.category, a.ad_headline, a.ad_type, a.ad_image, date_format( a.date_created, '%d.%m.%Y' ) AS af_date, b.name FROM #__marketplace_ads AS a, #__marketplace_categories AS b WHERE b.published='1' AND a.category = b.id AND a.published='1' ORDER BY a.id DESC LIMIT 5 "); 

Для того, чтобы скрипт смог выводить тип предложения, я данную часть немного модифицировал и привел ее к виду:

$database->setQuery( "SELECT a.id, a.category, a.ad_headline, a.ad_type, a.ad_image, date_format( a.date_created, '%d.%m.%Y' ) AS af_date, c.id AS af_id, c.name  AS af_type, b.name FROM #__marketplace_ads AS a, #__marketplace_categories AS b, #__marketplace_types AS c WHERE b.published='1' AND a.category = b.id AND a.published='1' AND a.ad_type = c.id ORDER BY a.id DESC LIMIT 5 ");

Т.е указал, что считывать нужно не только данные из таблиц ads и categories, но также из types, где хранятся ID и текстовые названия типов предложений нашей доски объявлений.

Далее переходим к строке номер 47 и видим там такой вывод данных:

$content.="</p>
<p><img src="/src" border="border" width="width" height="height" /></p>
<p>"."<a href="/href">".$mes->ad_headline."</a><br />".$af_type." ".$mes->name." (".$mes->af_date.")";

Как мы видим, автор данного скрипта видимо хотел выводить название типа предложения, так как в тут присутствует переменная af_type, но видимо решил что и так сойдет. На некоторых американских хостингах это вызывало ошибку, поэтому ".$af_type." приходилось удалять.

Для того, чтобы теперь под заголовком объявления выводилось все именно так как мы хотим, но в то же время не было никаких проблем с ссылками на объявления, то я подредактировал данную строчку следующим образом:

$content.="</p>
<p><img src="/src" border="border" width="width" height="height" /></p>
<p>"."<a href="/href">".$mes->ad_headline."</a><br />".$mes->af_type." (".$mes->af_date.")";

Тем самым я убрал вывод названия категории (name) и вывел нормально af_type.

2. Для замены иконки, которая отмечает объявления с фото или без, то нужно заменить стандартную, которая находится тут /modules/mod_marketplace5/images/photo.gif на свою. Также в случае, если у вас размеры отличаются от стандартных 16 на 16, то нужно отредактировать строки 47 и 53, где указываются параметры height и width для изображения. Отступ в случае необходимости можно реализовать через padding.

Добавить комментарий

Вы можете оставить комментарий авторизовавшись через любую из представленных социальных сетей ниже:

                 


Защитный код
Обновить