У Дмитрия появилась возможность (впервые за год) уделить время и переписать код мультиполя для использования в Joomla 4.
Разве не было бы здорово, если бы у Joomla был внешний вид в едином узнаваемом стиле для всех тех сайтов, которые находятся под баннером Joomla, а также для тех, что были встроены в шаблон Joomla, которым пользуются люди?
JBZoo - это надстройка над некогда популярном CCK Joomla Zoo, который позволял реализовать магазин на данном компоненте. Изначально надстройка была коммерческой, после того, как автор (Денис Сметанников) прекратил поддержку, он стал бесплатным.
<div class="latest-new"><ul class="newsflash-horiz"> <li> <h4 class="newsflash-title"> Материал </h4> <p> <img alt="image005" src="/images/image005.jpg"> </p> <p>Текст материала.</p> <a class="readmore" href="/index.php/8-blog/1-material">Подробнее...</a> <span class="article-separator"> </span> </li></ul></div>
<div class="latest-new"> <img alt="image005" src="/images/image005.jpg"> <div class="mystyle"> <h4 class="newsflash-title"> Материал </h4> <p>Текст материала.</p> <a class="readmore" href="/index.php/8-blog/1-material">Подробнее...</a> </div></div>
Хмм... а Вы разве его уже не переписали?Переопределяйте модуль в шаблоне и модифицируйте, как Вам будет угодно.
Что мешает? опишите подробно.
<div class="row<?php echo $params->get('moduleclass_sfx'); ?>"><?php for ($i = 0, $n = count($list); $i < $n; $i ++) : $item = $list[$i]; ?> <div class="col-md-4"> <?php require JModuleHelper::getLayoutPath('mod_articles_news', '_item'); if ($n > 1 && (($i < $n - 1) || $params->get('showLastSeparator'))) : ?> <span class="article-separator"> </span> <?php endif; ?> </div><?php endfor; ?></div>
<?php require JModuleHelper::getLayoutPath('mod_articles_news', '_item');
$item->introtext;
Код: php<?php require JModuleHelper::getLayoutPath('mod_articles_news', '_item');У вас тут подшаблон подключается. В нём нужно переопределять.
В стандартном модуле выводится изображение, содержащееся в тексте вступления, т.е вот здесь:Код: php$item->introtext;и вытащить его достаточно проблематично.Если вы в переопределенном макете выводите изображение для вступительного текста (вставили самостоятельно) - тогда можно
Вот именно на этом я и остановился, надо как-то отделить картинку от текста...
/*сперва найдём первую картинку, вернее только её адрес:*/$src_regex = '#src\s*=\s*(["\'])(.*?)\1#'; //регулярка для поиска src картинкиpreg_match_all($src_regex, $item->introtext, $matches); //где $item->introtext — переменная, в которой ищем.$item->imgsrc = $matches[2][0];/*потом удалим все теги, в том числе картинки из текста. Выборочные, например <p> можно оставить*/$item->introtext = strip_tags($item->introtext);/*подчистим:*/$item->introtext = trim($item->introtext);/*ещё можно подрезать строку до нужного количества символов без кромсания слов:*/$txtcut = 600;$item->introtext = strip_tags($item->introtext);$item->introtext = substr( $item->introtext, 0, ( strripos( substr($item->introtext, 0, $txtcut), ' ' ) ));/*Всё, теперь можно выводить:*///$item->introtext = чистый, готовый текст для вывода.//$item->imgsrc = значение src первой картинки
посмотрите здесь, может пригодитсяhttp://www.wantweb.ru/mod-articles-news/mod-articles-news-date-image
Первый раз только проблемно. Потом привыкаешь. Спойлер[свернуть]
echo '<img src="'.$item->imgsrc.'" / >';
<?php $src_regex = '#src\s*=\s*(["\'])(.*?)\1#'; preg_match_all($src_regex, $item->introtext, $matches); $item->imgsrc = $matches[2][0]; $item->introtext = strip_tags($item->introtext); /*подчистим:*/$item->introtext = trim($item->introtext); $txtcut = 600;$item->introtext = strip_tags($item->introtext);$item->introtext = substr( $item->introtext, 0, ( strripos( substr($item->introtext, 0, $txtcut), ' ' ) ));echo '<img src="'.$item->imgsrc.'" / >' ?>
//выводим картинку:echo '<img src="'.$item->imgsrc.'" / >';//ниже выводим текст:echo $item->introtext;
Я же файл не вижу.Код: php//выводим картинку:echo '<img src="'.$item->imgsrc.'" / >';//ниже выводим текст:echo $item->introtext;