JoomlaИсправляем pathway в компоненте AdsManager

Для Joomla есть замечательный компонент для организации объявлений – AdsManager. Столкнулся с проблемой, что ссылка “Доска объявлений” в “хлебных крошках” (pathway) ведет не на главную страницу с категориями и подкатегориями, а на страницу с показом всех объявлений. Исправляется это очень просто, нужно заменить 2 строчки кода в файле adsmanager.php
Ищем строку 774 в этом файле (изменяем ссылку для страниц просмотра категории)

774
$paths[$nb]->link = sefRelToAbs('index.php?option='.$option.'&page=show_all&order='.$order.'&expand='.$expand.'&Itemid='.$itemid);

и заменяем ее на:

774
$paths[$nb]->link = sefRelToAbs('index.php?option='.$option.'&Itemid='.$itemid);

дальше ищем строку 914

914
$paths[$nb]->link = sefRelToAbs('index.php?option='.$option.'&page=show_all&Itemid='.$itemid);

и заменяем ее на

914
$paths[$nb]->link = sefRelToAbs('index.php?option='.$option.'&Itemid='.$itemid);

готово, теперь ссылка “Доска объявлений” ведет на главную страницу доски объявлений

JoomlaВывод картинки независимо от текста новости

Как и обещал разбавлю немного посты про MODx несколькими про Joomla.

Кричев.by я делаю на Joomla, и при разработке столкнулся с некоторыми проблемами, которые удачно удалось решить. Сегодня расскажу про то, как сделать вывод краткого описания новости (статьи) с картинкой, но не простой вывод, а золотой так, чтобы картинка выводилась независимо от текста: в другом блоке. Должно быть вот так:

Картинка добавляется через стандартный редактор при добавлении новости. Она расположена слева и должна обтекать не только текст, но и дату публикации, и раздел, в котором расположена новость. Поэтому придется прибегнуть к некоторым хитростям, чтобы реализовать данный вывод. Если выводить это стандартным выводом, то получим следующее:

Как видно на скриншоте выше мы получаем не совсем то, что хотелось бы. Поэтому делаем следующее:

Данный вывод я использую для вывода “Шаблон блога категории”, “Шаблон блога раздела” и “Похожие новости”. Открываем шаблон категории или раздела и в место где вы хотели бы вывести картинку вставляем:

1
2
3
4
$test = $this->item->text;
preg_match_all('/<\s*img\s+src\s*="\s*("[^"]*"|\'[^\']*\'|[^"\s]+)(.*?)>/i', $test, $result);
$text = strip_tags($test); 
echo JURI::base().$result[1][0];

Что здесь происходит: переменной $test содержит текст новости, далее регулярным выражением с помощью функции preg_match_all() вырезаем из текста первую картинку (подробнее про функциюю читайте здесь.

Далее удаляем все теги из текста новости функцией strip_tags(), это значит, что в кратком выводе новости картинки, ссылки, выделение жирным, курсивом и т.д. отображаться не будут, но все это будет в полном просмотре новости. Затем выводим адрес картинки. Не забудьте вставить вывод адреса в аттрибут src тега img. Так же можно добавить проверку на существование картинки с помощью функции empty и цикла if.

После этих манипуляций мы получим то, что изображено на первом скриншоте.