LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
28.05.2012, 00:45:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 2 3 4 5 [6] 7   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Модифицируем стандартный mod_latestnews  (Прочитано 32919 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
prostoy
Давно я тут
****

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 304


Истина где то рядом.


« Ответ #150 : 13.12.2011, 08:03:37 »

Надо что бы был немного текста новости а у меня нет.
Надо что бы немного было текста вот как на этом примере.


* 1 (2).jpg (30.33 Кб, 258x255 - просмотрено 58 раз.)
Записан
prostoy
Давно я тут
****

Репутация: +3/-0
Offline 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  Что бы просто можно было поменять файлы и всё.
Заранее благодарен за ответ. Smiley
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #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 Offline

Пол: Мужской
Сообщений: 36



« Ответ #153 : 12.01.2012, 22:25:48 »

Так как вывести картинку та что идет у меня в introtext??
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #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 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 Offline

Пол: Женский
Сообщений: 190


Joom'листка


« Ответ #156 : 06.02.2012, 11:34:04 »

beliyadm, спасибо большое за чудесное решение! Уже использовала на нескольких сайтах.
Теперь вот возникла следующая необходимость:
в левой колонке выводить новости без заголовков, а в правой с заголовками.
Подскажите, пожалуйста, реально ли это провернуть с mod_latestnews и как это сделать?
Спасибо!
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #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 Offline

Пол: Женский
Сообщений: 190


Joom'листка


« Ответ #158 : 06.02.2012, 21:34:15 »

Идем в mod_latestnews.xml и дописываем......
beliyadm, спасибо еще раз! Вы - действительно, профи как указано у Вас в статусе!
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #159 : 06.02.2012, 21:56:12 »

Не за что Azn
Записан
faraon_x
Давно я тут
****

Репутация: +25/-1
Offline 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
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #161 : 24.02.2012, 20:33:17 »

faraon_x - я не понял, вам подробнее про картинку расписать или как оставить read more только у первого выводимого материала?
Записан
faraon_x
Давно я тут
****

Репутация: +25/-1
Offline Offline

Сообщений: 368


Чем смогу, тем помогу ))) SEO


« Ответ #162 : 24.02.2012, 20:52:59 »

faraon_x - я не понял, вам подробнее про картинку расписать или как оставить read more только у первого выводимого материала?
Понимаю, что как в анектоде "бабушка пить хочется, что переночевать не где", но по read more пытался по разному, ничего не получилось, а с картинками, понимаю, что нужно создать регулярное выражение, но как (пытался написать, но вместо результатов выводит адрес сайта) и куда его поместить не знаю. Вот и написал обе проблемы, может кто с такими сталкивался и что подскажет.  Roll Eyes
Записан
faraon_x
Давно я тут
****

Репутация: +25/-1
Offline 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-й элемент массива, то получается заголовок последней добавленной новости + интро текст от первой новости.  Smiley
Записан
faraon_x
Давно я тут
****

Репутация: +25/-1
Offline Offline

Сообщений: 368


Чем смогу, тем помогу ))) SEO


« Ответ #164 : 25.02.2012, 22:04:06 »

beliyadm, может быть поможете за скромное вознаграждение (200 WMR) и в будущем может кому пригодится.  Smiley
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #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 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 кошелек в профиле.  Smiley
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #167 : 26.02.2012, 02:09:15 »

Приведенная мною регулярка ищет что внутри кавычек у SRC в строке, так что подойдет

Благодарность перевел на R кошелек в профиле.  Smiley
спасибо за спасибо, завтра будет что кушать Azn
Записан
faraon_x
Давно я тут
****

Репутация: +25/-1
Offline Offline

Сообщений: 368


Чем смогу, тем помогу ))) SEO


« Ответ #168 : 26.02.2012, 02:46:46 »

Приведенная мною регулярка ищет что внутри кавычек у SRC в строке, так что подойдет
Ок, затра буду ковырять, но боюсь несколько вопросов ещё будет.  Roll Eyes

спасибо за спасибо, завтра будет что кушать Azn
Grin
Записан
faraon_x
Давно я тут
****

Репутация: +25/-1
Offline 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-я новость полностью (дата+итро+ридморе), но без картинке, далее она же дата+заголовок, далее остальные дата+заголовок.
Почему не выводится картинка и первая новость повторяется в виде дата+заголовок?  Sad
« Последнее редактирование: 26.02.2012, 17:09:33 от faraon_x » Записан
faraon_x
Давно я тут
****

Репутация: +25/-1
Offline Offline

Сообщений: 368


Чем смогу, тем помогу ))) SEO


« Ответ #170 : 26.02.2012, 20:42:10 »

beliyadm, подскажите пожалуйста, где ошибка.
Повтор новости победил, а вот картинки так и нет на горизонте.  Smiley Хотя в 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
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #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 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
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #173 : 27.02.2012, 00:41:07 »

Нет, это уже вообще ерунда получается, не надо ничего склеивать
После всех манипуляций в шаблоне элемент <?php echo $item->introtext_img; ?> должен вывести адрес картинки (images/img.png к примеру) - это показывается?

а $item->introtext_text выводит текст как надо.
что значит "как надо" - как он внесен в базу с картинкой и форматированием? Или только текст без изображения и тегов?
Записан
faraon_x
Давно я тут
****

Репутация: +25/-1
Offline Offline

Сообщений: 368


Чем смогу, тем помогу ))) SEO


« Ответ #174 : 27.02.2012, 00:57:36 »

Нет, это уже вообще ерунда получается, не надо ничего склеивать
После всех манипуляций в шаблоне элемент <?php echo $item->introtext_img; ?> должен вывести адрес картинки (images/img.png к примеру) - это показывается?
Нет ничего не отображается, я для того и склеил массив, чтобы проверить все его элементы, но пусто.
А разве в этой переменной будет хранится только адрес, думал, что весь тег <img....>?

что значит "как надо" - как он внесен в базу с картинкой и форматированием? Или только текст без изображения и тегов?
Извиняюсь, за неточность, выводится просто текст, без изображения и тегов.
Записан
faraon_x
Давно я тут
****

Репутация: +25/-1
Offline Offline

Сообщений: 368


Чем смогу, тем помогу ))) SEO


« Ответ #175 : 27.02.2012, 12:35:18 »

beliyadm, спасибо Вам, вроде получилось.  Smiley
Изменил код так:
Код:
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 Offline

Сообщений: 1


« Ответ #176 : 05.03.2012, 01:59:02 »

Здравствуйте ! Здесь уже прозвучал вопрос о том что модуль mod_latestnews в связке с виртуемартом не хочет выводить новости на страницах самой Joomla. Если зайти в любую категорию марта, последние новости отображаються, на страницах статей, категорий, разделов и т.д. самой Joomla..только заголовок. Этот модуль выводил на многих сайтах и проблем с ним небыло, а теперь вот такая странность, возможно связано с VirtueMart ? Нашлось решение ?

Зарание спасибо  Azn

Записан
lottis
Давно я тут
****

Репутация: +8/-0
Offline 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 {} со своим цветом и тд и можно названия категорий выделить любым другим цветом, чтоб не сливалось с сылками.)

Автору поста спасибо, что сэкономил мне время на такой ерунде, как просто отобразить элементарные вещи.  Cheesy
« Последнее редактирование: 31.03.2012, 00:02:43 от lottis » Записан
tigra-uki
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline 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 ? как добавить вывод заголовка ссылкой используемой категории?  Kiss
Записан
deVetal
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 72



« Ответ #179 : 04.04.2012, 23:33:32 »

В результате прочтения этой темы задался целью на Joomla 2.5 вывести последние новости в следующем виде:  в левом столбике  время (варианты – дата; дата и время), а в правом столбике ровненько заголовки.
Так как обычные таблицы замедляли скорость загрузки, попытался использовать для этого div-ы.
По итогу получил следующий шаблон для модуля «Материалы - Последние новости» (файл default.php в mod_articles_latest\tmpl):
Показать текстовый блок
Если нужно выводить заголовки со второй новости, то шаблон такой:
Показать текстовый блок
Так как в php не силен, прошу знающих людей подправить шаблон, если что не так. Но вроде работает все нормально, может, кому пригодится.

Забыл добавить: Кроме файла самого шаблона, ничего больше править не нужно.
« Последнее редактирование: 05.04.2012, 23:55:24 от deVetal » Записан
Страниц: 1 2 3 4 5 [6] 7   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet