prostoy
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 304
Истина где то рядом.
|
 |
« Ответ #150 : 13.12.2011, 08:03:37 » |
|
Надо что бы был немного текста новости а у меня нет. Надо что бы немного было текста вот как на этом примере.
|
|
|
|
|
prostoy
Давно я тут
  
Репутация: +3/-0
Offline
Пол: 
Сообщений: 304
Истина где то рядом.
|
 |
« Ответ #151 : 13.12.2011, 13:32:09 » |
|
Добрый день beliyadm! Извините меня я не програмёр вот тут и проблема что то я не до понимаю что то, вы меня извините. Может вы мне сбросите как должен выглядить файл modules\mod_latestnews\helper.php и modules\mod_latestnews\tmpl\default.php я как понял у всех в исходном состоянии одинаковы. у меня стоит Joomla 1.5.22 Что бы просто можно было поменять файлы и всё. Заранее благодарен за ответ. 
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #152 : 16.12.2011, 03:14:01 » |
|
prostoy - ну так скачайте с офсайта архив и заберите оттуда нужные файлы в оригинале В примере сверху модификация должна затрагивать - выборку из базы дополнительно даты и introtext, дальше дату отформатировать как требуется и выводить в шаблоне. Как вывести из базы - первый пост. Как обрезать по словам - вот пример echo substr(strip_tags($string), 0, strpos(strip_tags($string), ' ', 50)).'...'; Как отформатировать дату штатными средствами можно почитать здесь (внимание на DATE_FORMAT)
|
|
|
|
|
Записан
|
|
|
|
saharin88
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 36
|
 |
« Ответ #153 : 12.01.2012, 22:25:48 » |
|
Так как вывести картинку та что идет у меня в introtext??
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #154 : 12.01.2012, 22:38:48 » |
|
Так как вывести картинку та что идет у меня в introtext??
К примеру мы в интротексте имеем одну картинку и текст, нужно в модуле вывести красиво. Образец ниже $introtext = '<span>text</span>текст<img src="images/stories/img.jpg" alt="alttext" /><p>text222</p>'; preg_match_all('/<\s*img\s+src\s*="\s*("[^"]*"|\'[^\']*\'|[^"\s]+)(.*?)>/i', $introtext , $result); echo JURI::base().$result[1][0]; Или же делаем print_r($result); и смотрим на весь полученный массив
|
|
|
|
|
Записан
|
|
|
|
IgorArhangel
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 55
|
 |
« Ответ #155 : 14.01.2012, 21:08:03 » |
|
Встал передо мной вопрос. Мне надо сделать так чтобы в одном шаблоне и на одной странице был вывод последних новостей, но в разном виде. То есть чтоб из одной категории они выводились в одном виде, а из другой в другом виде. Вот что пробовал: переопредили файл default.php в шаблоне, таким образом <?php // no direct access defined('_JEXEC') or die('Restricted access'); ?>
<?php if ( JRequest::getVar( 'catid' )== 28) {?>
<?php if (count($list)) : ?> <ul class="latestnews<?php echo $params->get('pageclass_sfx'); ?>"> <?php foreach ($list as $item) : ?> <li class="latestnews<?php echo $params->get('pageclass_sfx'); ?>"> <a href="<?php echo $item->link; ?>" class="latestnews<?php echo $params->get('pageclass_sfx'); ?>"> <?php echo $item->text; ?></a> </li> <?php endforeach; ?> </ul> <?php endif;?>
<?php } else{?>
<ul class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <?php foreach ($list as $item) : ?> <li class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <span class="date" ><?php echo $item->created; ?></span> <br /> <a href="<?php echo $item->link; ?>" title="читать подробней"><?php echo $item->introtext; ?> </a> </li> <?php endforeach; ?> </ul>
<?php } ?> if ( JRequest::getVar( 'catid' )== 28) - 28 нужная категория Но всё равно ничего не меняется. Joomla 1.5.22
|
|
|
|
|
Записан
|
|
|
|
tigra-uki
Осваиваюсь на форуме
 
Репутация: +6/-0
Offline
Пол: 
Сообщений: 190
Joom'листка
|
 |
« Ответ #156 : 06.02.2012, 11:34:04 » |
|
beliyadm, спасибо большое за чудесное решение! Уже использовала на нескольких сайтах. Теперь вот возникла следующая необходимость: в левой колонке выводить новости без заголовков, а в правой с заголовками. Подскажите, пожалуйста, реально ли это провернуть с mod_latestnews и как это сделать? Спасибо!
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #157 : 06.02.2012, 21:22:20 » |
|
в левой колонке выводить новости без заголовков, а в правой с заголовками.
Идем в mod_latestnews.xml и дописываем <param name="show_title" type="radio" default="1" label="Показывать заголовки" description="Показывать заголовки материалов или скрывать"> <option value="1">Показать</option> <option value="0">Скрыть</option> </param> В хелпере в начале где идет получение параметров пишем $show_title = $params->get('show_title', 1);Ниже в цикл foreach добавляем элемент $lists[$i]->show_title = $show_title; В файле шаблона модуля пишем условие (привожу пример) if ($show_title == 1) { echo 'показываем заголовок'; }Ну и показываете свой заголовок, что уже добавили в $lists, дальше делаем миллион копий модуля в админке, для половины показываем заголовок, для второй нет
|
|
|
|
|
Записан
|
|
|
|
tigra-uki
Осваиваюсь на форуме
 
Репутация: +6/-0
Offline
Пол: 
Сообщений: 190
Joom'листка
|
 |
« Ответ #158 : 06.02.2012, 21:34:15 » |
|
Идем в mod_latestnews.xml и дописываем...... beliyadm, спасибо еще раз! Вы - действительно, профи как указано у Вас в статусе!
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #159 : 06.02.2012, 21:56:12 » |
|
Не за что 
|
|
|
|
|
Записан
|
|
|
|
faraon_x
Давно я тут
  
Репутация: +25/-1
Offline
Сообщений: 368
Чем смогу, тем помогу ))) SEO
|
 |
« Ответ #160 : 24.02.2012, 17:32:12 » |
|
добрый день К примеру мы в интротексте имеем одну картинку и текст, нужно в модуле вывести красиво. Образец ниже $introtext = '<span>text</span>текст<img src="images/stories/img.jpg" alt="alttext" /><p>text222</p>'; preg_match_all('/<\s*img\s+src\s*="\s*("[^"]*"|\'[^\']*\'|[^"\s]+)(.*?)>/i', $introtext , $result); echo JURI::base().$result[1][0]; Или же делаем print_r($result); и смотрим на весь полученный массив 1. А можно про картинку немного подробнее (что и куда добавлять). Структура новости такая: <table class="contentpaneopen"> <tbody><tr> <td width="100%" class="contentheading"> <h3> <a class="contentpagetitle" href="/it/63-v-kitae-vipustili-planshet-redpad.html"> В Китае появился планшет RedPad для членов коммунистической партии</a> </h3> </td>
</tr> </tbody></table> <table class="contentpaneopen"> <tbody><tr> <td> <span> Новости ИТ </span> </td> </tr>
<tr>
<td width="70%" valign="top" colspan="2"> <span class="small"> Автор: Валерий Ростовсков </span> </td> </tr>
<tr> <td valign="top" class="createdate" colspan="2"> 04.02.2012 08:53 </td>
</tr>
<tr> <td valign="top" colspan="2"> <p><a title="планшет RedPad Number One :: планшет RedPad Number One" href="/it/63-v-kitae-vipustili-planshet-redpad.html"><img src="http://kezragore.ru/images/stories/statei/smart_thumbs/redpad_thumb140_.jpg" alt="планшет RedPad Number One" title="планшет RedPad Number One" class="smartresize"/></a>В Китае для коммунистов выпущен планшетный компьютер, аналог iPad - RedPad Number One. Полная стоимость гаджета вместе с кожаным чехлом, составляет 9 тысяч 999 юаней (примерно 1 тысяча 600 долларов). В то время, когда самая дорогая версия планшета от Apple стоит дешевле.</p> <a class="readon" href="/it/63-v-kitae-vipustili-planshet-redpad.html"> Подробнее...</a> </td> </tr>
</tbody></table> 2. Сделал так: в хелпере $lists[$i]->created = JHTML::_('date', $row->created, JText::_('DATE_FORMAT_LC2')); $lists[0]->introtext = strip_tags ( $row->introtext );
в шаблоне <ul class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <?php foreach ($list as $item) : ?> <li class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <span class="date"><?php echo $item->created; ?></span> <a href="<?php echo $item->link; ?>" class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <?php echo $item->text; ?></a> <br /> <?php echo $item->introtext; ?> <a href="<?php echo $item->link; ?>" title="читать далее">читать далее...</a> </li> <?php endforeach; ?> </ul> Соответственно, самая последняя новость выводится дата+название+интро+read more, 4 предыдущие дата+интро+readmore как убрать у этих 4-х новостей read more, а у первой оставить?
|
|
|
|
« Последнее редактирование: 24.02.2012, 17:53:36 от faraon_x »
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #161 : 24.02.2012, 20:33:17 » |
|
faraon_x - я не понял, вам подробнее про картинку расписать или как оставить read more только у первого выводимого материала?
|
|
|
|
|
Записан
|
|
|
|
faraon_x
Давно я тут
  
Репутация: +25/-1
Offline
Сообщений: 368
Чем смогу, тем помогу ))) SEO
|
 |
« Ответ #162 : 24.02.2012, 20:52:59 » |
|
faraon_x - я не понял, вам подробнее про картинку расписать или как оставить read more только у первого выводимого материала?
Понимаю, что как в анектоде "бабушка пить хочется, что переночевать не где", но по read more пытался по разному, ничего не получилось, а с картинками, понимаю, что нужно создать регулярное выражение, но как (пытался написать, но вместо результатов выводит адрес сайта) и куда его поместить не знаю. Вот и написал обе проблемы, может кто с такими сталкивался и что подскажет. 
|
|
|
|
|
Записан
|
|
|
|
faraon_x
Давно я тут
  
Репутация: +25/-1
Offline
Сообщений: 368
Чем смогу, тем помогу ))) SEO
|
 |
« Ответ #163 : 25.02.2012, 00:25:19 » |
|
$lists[$i]->created = JHTML::_('date', $row->created, JText::_('DATE_FORMAT_LC2')); $lists[0]->introtext = strip_tags ( $row->introtext ); И здесь ошибся, если вместо i-го элемента поставить "0", т.е. вывести 1-й элемент массива, то получается заголовок последней добавленной новости + интро текст от первой новости. 
|
|
|
|
|
Записан
|
|
|
|
faraon_x
Давно я тут
  
Репутация: +25/-1
Offline
Сообщений: 368
Чем смогу, тем помогу ))) SEO
|
 |
« Ответ #164 : 25.02.2012, 22:04:06 » |
|
beliyadm, может быть поможете за скромное вознаграждение (200 WMR) и в будущем может кому пригодится. 
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #165 : 25.02.2012, 23:23:58 » |
|
даже не знаю с чего начать Для начала картинка. В хелпере модуля мы собираем в массиве внутре foreach наши данные, там есть (уже сделали выборку из базы) элемент вступительного текста $lists[$i]->introtext = $row->introtext В этом вступлении есть и картинка и текст, в этом же цикле дробим эту строку и получаем два новых элемента Еще раз на примере, если вдруг у нас вступительный текст выглядит так <span>text</span>22<img src="images/stories/img.jpg" /><p>img333</p> то внутри цикла в хелпере мы это тупо дробим и запоминаем preg_match_all('/<\s*img\s+src\s*="\s*("[^"]*"|\'[^\']*\'|[^"\s]+)(.*?)>/i', $row->introtext, $result); $lists[$i]->introtext_img = $result[1][0]; $lists[$i]->introtext_text = strip_tags($row->introtext);Дальше в шаблоне в цикле вывода этого массива работам с элементами introtext_img (только путь до картинки "images/stories/img.jpg", пишем в src) и introtext_text ("text22img333" чистый текст без хтмл тегов) Вместе с этим нам никто не мешает в шаблоне модуля создать счетчик $i и считать, если первый элемент - то показать readmore, если нет - не показать <?php $i = 1; foreach ($list as $item) : if ($1 == 1) { // покажем ридморе, иначе нет } $i++; endforeach; ?>
|
|
|
|
|
Записан
|
|
|
|
faraon_x
Давно я тут
  
Репутация: +25/-1
Offline
Сообщений: 368
Чем смогу, тем помогу ))) SEO
|
 |
« Ответ #166 : 26.02.2012, 01:57:50 » |
|
с read more разобрался, спасибо. <span>text</span>22<img src="images/stories/img.jpg" /><p>img333</p> А для такой структуры подойдет регулярное выражение: <p> <a title="----" href="----"> <img class="smartresize" title="---" alt="----" src="http://-----.ru/images/stories/statei/smart_thumbs/image_thumb140_.jpg"></a> ТЕКСТ</p> <a class="readon" href="----"> Подробнее...</a> Благодарность перевел на R кошелек в профиле. 
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #167 : 26.02.2012, 02:09:15 » |
|
Приведенная мною регулярка ищет что внутри кавычек у SRC в строке, так что подойдет Благодарность перевел на R кошелек в профиле.  спасибо за спасибо, завтра будет что кушать 
|
|
|
|
|
Записан
|
|
|
|
faraon_x
Давно я тут
  
Репутация: +25/-1
Offline
Сообщений: 368
Чем смогу, тем помогу ))) SEO
|
 |
« Ответ #168 : 26.02.2012, 02:46:46 » |
|
Приведенная мною регулярка ищет что внутри кавычек у SRC в строке, так что подойдет
Ок, затра буду ковырять, но боюсь несколько вопросов ещё будет.  спасибо за спасибо, завтра будет что кушать  
|
|
|
|
|
Записан
|
|
|
|
faraon_x
Давно я тут
  
Репутация: +25/-1
Offline
Сообщений: 368
Чем смогу, тем помогу ))) SEO
|
 |
« Ответ #169 : 26.02.2012, 17:01:52 » |
|
Вообщем запутался, вот что намудрил: default.php (полностью) <ul class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <?php $i = 1; foreach ($list as $item) : if ($i == 1) { ?> <li class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <span class="date"><?php echo $item->created; ?></span> <a href="<?php echo $item->link; ?>" class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <?php echo $item->text; ?></a> <br /> <?php echo $item->introtext_img; ?> <?php echo $item->introtext; ?> <a href="<?php echo $item->link; ?>" title="Подробнее">Подробнее...</a> </li> <?php } $i++;?> <li class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <span class="date"><?php echo $item->created; ?></span> <a href="<?php echo $item->link; ?>" class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <?php echo $item->text; ?></a> <br /> </li> <?php endforeach; ?> </ul> часть файла helper.php foreach ( $rows as $row ) { if($row->access <= $aid) { $lists[$i]->link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid)); } else { $lists[$i]->link = JRoute::_('index.php?option=com_user&view=login'); } $lists[$i]->text = htmlspecialchars( $row->title ); $lists[$i]->created = JHTML::_('date', $row->created, JText::_('DATE_FORMAT_LC2')); $lists[$i]->introtext = strip_tags ( $row->introtext ); preg_match_all('<\s*img\s+class="(.*)"\s+title="(.*)"\s+alt="(.*)"\s+src="(.*)">', $row->introtext, $result); $lists[$i]->introtext_img = $result[1][0]; $lists[$i]->introtext_text = strip_tags($row->introtext); $i++; } регулярку сделал такой, т.к. в img есть class, title и alt, и нет закрывающей "/" в теге картинки <img class="smartresize" title="---" alt="----" src="http://-----.ru/images/stories/statei/smart_thumbs/image_thumb140_.jpg"> В итоге выводится 1-я новость полностью (дата+итро+ридморе), но без картинке, далее она же дата+заголовок, далее остальные дата+заголовок. Почему не выводится картинка и первая новость повторяется в виде дата+заголовок? 
|
|
|
|
« Последнее редактирование: 26.02.2012, 17:09:33 от faraon_x »
|
Записан
|
|
|
|
faraon_x
Давно я тут
  
Репутация: +25/-1
Offline
Сообщений: 368
Чем смогу, тем помогу ))) SEO
|
 |
« Ответ #170 : 26.02.2012, 20:42:10 » |
|
beliyadm, подскажите пожалуйста, где ошибка. Повтор новости победил, а вот картинки так и нет на горизонте.  Хотя в default.php вывожу её так: <?php echo $item->introtext_img; ?> часть кода helper.php foreach ( $rows as $row ) { if($row->access <= $aid) { $lists[$i]->link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid)); } else { $lists[$i]->link = JRoute::_('index.php?option=com_user&view=login'); } $lists[$i]->text = htmlspecialchars( $row->title ); $lists[$i]->created = JHTML::_('date', $row->created, JText::_('DATE_FORMAT_LC2')); $lists[$i]->introtext = strip_tags ( $row->introtext ); preg_match_all('<\s*img\s+class="(.*)"\s+title="(.*)"\s+alt="(.*)"\s+src="(.*)">', $row->introtext, $result); $lists[$i]->introtext_img = $result[1][0]; $lists[$i]->introtext_text = strip_tags($row->introtext); $i++; } default.php (полный код) <ul class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <?php $i = 1; foreach ($list as $item) : if ($i == 1) { ?> <li class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <span class="date"><?php echo $item->created; ?></span> <a href="<?php echo $item->link; ?>" class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <?php echo $item->text; ?></a> <br /> <?php echo $item->introtext_img; ?> <?php echo $item->introtext; ?> <a href="<?php echo $item->link; ?>" title="Подробнее">Подробнее...</a> </li> <?php } $i++;?> <?php if ($i > 2) { ?> <li class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <span class="date"><?php echo $item->created; ?></span> <a href="<?php echo $item->link; ?>" class="latestnews<?php echo $params->get ('moduleclass_sfx'); ?>"> <?php echo $item->text; ?></a> <br /> </li> <?php } $i++;?>
<?php endforeach; ?> </ul>
|
|
|
|
« Последнее редактирование: 26.02.2012, 20:50:11 от faraon_x »
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #171 : 26.02.2012, 23:10:02 » |
|
Конечно не будет, ведь до того как регуляркой искать картинку в тексте ты прежде его очищаешь от всех хтмл тегов (и img src в том числе) Вот корректный вариант foreach ( $rows as $row ) { if($row->access <= $aid) { $lists[$i]->link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid)); } else { $lists[$i]->link = JRoute::_('index.php?option=com_user&view=login'); } $lists[$i]->text = htmlspecialchars( $row->title ); $lists[$i]->created = JHTML::_('date', $row->created, JText::_('DATE_FORMAT_LC2')); preg_match_all('<\s*img\s+class="(.*)"\s+title="(.*)"\s+alt="(.*)"\s+src="(.*)">', $row->introtext, $result); $lists[$i]->introtext_img = $result[1][0]; $lists[$i]->introtext_text = strip_tags($row->introtext); $i++; } Ну и дальше в шаблоне работаешь не с $item->introtext а с $item->introtext_text
|
|
|
|
|
Записан
|
|
|
|
faraon_x
Давно я тут
  
Репутация: +25/-1
Offline
Сообщений: 368
Чем смогу, тем помогу ))) SEO
|
 |
« Ответ #172 : 27.02.2012, 00:12:04 » |
|
Сделал как Вы сказали, но $item->introtext_img ничего не выводит, а $item->introtext_text выводит текст как надо.
Склеил весь массив так: $lists[$i]->introtext_img = implode(",", $result); В итоге в $item->introtext_img получил: Array,Array,Array,Array,Array
Как понимаю массив пуст, хотя вроде все нормально?
|
|
|
|
« Последнее редактирование: 27.02.2012, 00:15:30 от faraon_x »
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #173 : 27.02.2012, 00:41:07 » |
|
Нет, это уже вообще ерунда получается, не надо ничего склеивать После всех манипуляций в шаблоне элемент <?php echo $item->introtext_img; ?> должен вывести адрес картинки (images/img.png к примеру) - это показывается? а $item->introtext_text выводит текст как надо.
что значит "как надо" - как он внесен в базу с картинкой и форматированием? Или только текст без изображения и тегов?
|
|
|
|
|
Записан
|
|
|
|
faraon_x
Давно я тут
  
Репутация: +25/-1
Offline
Сообщений: 368
Чем смогу, тем помогу ))) SEO
|
 |
« Ответ #174 : 27.02.2012, 00:57:36 » |
|
Нет, это уже вообще ерунда получается, не надо ничего склеивать После всех манипуляций в шаблоне элемент <?php echo $item->introtext_img; ?> должен вывести адрес картинки (images/img.png к примеру) - это показывается?
Нет ничего не отображается, я для того и склеил массив, чтобы проверить все его элементы, но пусто. А разве в этой переменной будет хранится только адрес, думал, что весь тег <img....>? что значит "как надо" - как он внесен в базу с картинкой и форматированием? Или только текст без изображения и тегов?
Извиняюсь, за неточность, выводится просто текст, без изображения и тегов.
|
|
|
|
|
Записан
|
|
|
|
faraon_x
Давно я тут
  
Репутация: +25/-1
Offline
Сообщений: 368
Чем смогу, тем помогу ))) SEO
|
 |
« Ответ #175 : 27.02.2012, 12:35:18 » |
|
beliyadm, спасибо Вам, вроде получилось.  Изменил код так: preg_match_all('(<img.*?>)', $row->introtext, $result); $lists[$i]->introtext_img = $result[0][0]; Вот только вывел картинку и расстроился, в формате блога первую картинку обрабатывает плагин SmartResizer (используется class="smartresize"), а в модуле новостей плагин не обрабатывает class="smartresize". Может где-то в базе храниться <img> после обработки данным плагином?
|
|
|
|
« Последнее редактирование: 27.02.2012, 12:40:12 от faraon_x »
|
Записан
|
|
|
|
vvvetalll
Новичок
Репутация: +0/-0
Offline
Сообщений: 1
|
 |
« Ответ #176 : 05.03.2012, 01:59:02 » |
|
Здравствуйте ! Здесь уже прозвучал вопрос о том что модуль mod_latestnews в связке с виртуемартом не хочет выводить новости на страницах самой Joomla. Если зайти в любую категорию марта, последние новости отображаються, на страницах статей, категорий, разделов и т.д. самой Joomla..только заголовок. Этот модуль выводил на многих сайтах и проблем с ним небыло, а теперь вот такая странность, возможно связано с VirtueMart ? Нашлось решение ? Зарание спасибо 
|
|
|
|
|
Записан
|
|
|
|
lottis
Давно я тут
  
Репутация: +8/-0
Offline
Пол: 
Сообщений: 203
|
 |
« Ответ #177 : 30.03.2012, 23:55:04 » |
|
Спасибо за интересные вариации кода в изменении такой вещи, себе сделал внешний вид так :категория а под ней новость, категория - новость .. удобно получилось и все кликабельно. Был тут вопрос, как вывести не номер категории а название - мой вариант: часть кода хелпера foreach ( $rows as $row ) { if($row->access <= $aid) { // ссылка на статью $lists[$i]->link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid)); // ссылка на раздел $lists[$i]->sectionRoute = JRoute::_(ContentHelperRoute::getSectionRoute( $row->sectionid )); // ссылка на категорию $lists[$i]->categoryRoute = JRoute::_(ContentHelperRoute::getCategoryRoute( $row->catid, $row->sectionid )); } else { $lists[$i]->link = JRoute::_('index.php?option=com_user&view=login'); } $lists[$i]->text = htmlspecialchars( $row->title ); $lists[$i]->catid = htmlspecialchars( $row->catid ); $i++; } return $lists; это сам вид(полностью): <?php // no direct access defined('_JEXEC') or die('Restricted access'); ?> <ul class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>"> <?php //print_r($list); ?> <?php foreach ($list as $item) : ?> <span class="cat_name"><?php $db =& JFactory::getDBO(); $cat_id = $item->catid; $query = "SELECT #__categories.title FROM #__categories WHERE id ='$cat_id'"; $db->setQuery($query); $catname = $db->loadResult(); echo "<a href=\"$item->categoryRoute\">$catname</a>"; ?></span> <li class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>"> <a href="<?php echo $item->link; ?>" class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>"> <?php echo $item->text; ?></a> </li> <?php endforeach; ?> </ul> вешаете в стили CSS класс .cat_name {} со своим цветом и тд и можно названия категорий выделить любым другим цветом, чтоб не сливалось с сылками.) Автору поста спасибо, что сэкономил мне время на такой ерунде, как просто отобразить элементарные вещи. 
|
|
|
|
« Последнее редактирование: 31.03.2012, 00:02:43 от lottis »
|
Записан
|
|
|
|
tigra-uki
Осваиваюсь на форуме
 
Репутация: +6/-0
Offline
Пол: 
Сообщений: 190
Joom'листка
|
 |
« Ответ #178 : 03.04.2012, 01:01:34 » |
|
ссылка на категория JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug, $this->item->sectionid)) beliyadm, скажите пожалуйста: правильно ли я понимаю, что это нужно добавить в mod_latestnews/helper.php ? а что нужно написать в default.php ? как добавить вывод заголовка ссылкой используемой категории? 
|
|
|
|
|
Записан
|
|
|
|
deVetal
Осваиваюсь на форуме
 
Репутация: +9/-0
Offline
Пол: 
Сообщений: 72
|
 |
« Ответ #179 : 04.04.2012, 23:33:32 » |
|
В результате прочтения этой темы задался целью на Joomla 2.5 вывести последние новости в следующем виде: в левом столбике время (варианты – дата; дата и время), а в правом столбике ровненько заголовки. Так как обычные таблицы замедляли скорость загрузки, попытался использовать для этого div-ы. По итогу получил следующий шаблон для модуля «Материалы - Последние новости» (файл default.php в mod_articles_latest\tmpl): <?php defined('_JEXEC') or die; ?> <div class="latestmy <?php echo $params->get('moduleclass_sfx'); ?>"> <?php foreach ($list as $item) : ?> <div class="item"> <div class="table-raw"> <div class="table-cell" style="display:table-cell;"> <?php echo JHTML::_('date',$item->created, JText::_('H:i'));?> </div> <div class="item-title" style="display:table-cell; padding:0 0 6px 12px;"> <a href="<?php echo $item->link; ?>"><?php echo $item->title; ?></a> </div> </div> </div> <?php endforeach; ?> </div>
Если нужно выводить заголовки со второй новости, то шаблон такой: <?php defined('_JEXEC') or die;
$impl = 0; ?> <div class="latestmy <?php echo $params->get('moduleclass_sfx'); ?>"> <?php foreach ($list as $item) : ?> <?php if ($impl != 0) { ?> <div class="item"> <div class="table-raw"> <div class="table-cell" style="display:table-cell;"> <?php echo JHTML::_('date',$item->created, JText::_('H:i'));?> </div> <div class="item-title" style="display:table-cell; padding:0 0 6px 12px;"> <a href="<?php echo $item->link; ?>"><?php echo $item->title; ?></a> </div> </div> </div> <?php } $impl++; endforeach; ?> </div>
Так как в php не силен, прошу знающих людей подправить шаблон, если что не так. Но вроде работает все нормально, может, кому пригодится. Забыл добавить: Кроме файла самого шаблона, ничего больше править не нужно.
|
|
|
|
« Последнее редактирование: 05.04.2012, 23:55:24 от deVetal »
|
Записан
|
|
|
|
|