- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день уважаемые форумчане может кто сталкивался с такой проблемой при адаптации шаблонов в joomla с версии 1.5 под 2.5 подскажете плиз...
Как вывести в blog_item.php анонсы материалов, а именно каким классом
Перепробовал массу примеров не могу найти как именно вывести анонс а не весь материал
Если выводить так
<?php echo $this->item->introtext; ?>
то выводится весь материал полностью, а нужен только анонс.Кто может сталкивался подскажите плиз...
---------- Добавлено 16.03.2013 в 18:36 ----------
Это пример старого шаблона версии 1.5
<?php
/**
* @package Joomla.Site
* @subpackage Templates.beez5
* @copyright Copyright (C) 2005 - 2009 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// no direct access
defined('_JEXEC') or die;
$db= new JConfig();
mysql_pconnect($db->host,$db->user,$db->password);
mysql_select_db($db->db);
mysql_query("SET NAMES 'utf8'");
$prf= $db->dbprefix;
$query= "SELECT * FROM ".$prf."categories WHERE alias='".$list[0]->category_alias."'";
$res= mysql_query($query);
$category= mysql_fetch_assoc($res);
$item= $list[0];
$dbo =& JFactory::getDBO();
$query = "SELECT * FROM #__users where id=".$item->created_by;
$dbo->setQuery( $query );
$row = $dbo->loadRow();
$author= $row[2];
$param = json_decode($category['params'],true);
$image_path = $param['image'];
?>
<div class="article-item">
<?
$date= explode(" ",$this->item->created);
$date= explode("-",$date[0]);
$date= $date[2].".".$date[1].".".$date[0];
echo $date; ?>
<span style="border: none;text-decoration: none;"></span>
<h2> <a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>">
<?php echo $this->escape($this->item->title); ?></a>
</h2>
<span>
<?php if ($this->item->params->get('link_section')) : ?>
<?php echo '<a href="'.JRoute::_(ContentHelperRoute::getSectionRoute($this->item->sectionid)).'">'; ?>
<?php endif; ?>
<?php echo $this->escape($this->item->section); ?>
<?php if ($this->item->params->get('link_section')) : ?>
<?php echo '</a>'; ?>
<?php endif; ?>
<?php if ($this->item->params->get('show_category')) : ?>
<?php echo ' - '; ?>
<?php endif; ?>
<p class="tright">
<?php if($this->item->readmore != "0"){ //print_r($this->item); ?>
<a href="<?php echo $this->item->readmore_link; ?>" class="readon<?php echo $this->escape($this->item->params->get('pageclass_sfx')); ?>"><span>читать</span></a>
<?php }else{ ?>
<a href="index.php?option=com_content&view=article&id=<?php echo $this->item->id; ?>:<?php echo $this->item->alias; ?>&catid=<?php echo $this->item->catid; ?>" class="readon<?php echo $this->escape($this->item->params->get('pageclass_sfx')); ?>"><span>читать</span></a>
<?php } ?>
</p>
<?php // to do not that elegant would be nice to group the params ?>
</div>
<div class="item-separator"></div>
А это то что я уже набросал под версию 2.5
<?php defined('_JEXEC') or die;
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');
?>
<?php $imgpattern = '/src=[\'"]?([^\'" >]+)[\'" >]/';
preg_match_all($imgpattern,$this->item->introtext,$article_image);?>
<div class="img_box">
<?php echo "<img ".$article_image[0][0]." width='200px'/>";?>
<?php $article_short_desc = preg_replace($imgpattern,"", $item->introtext);?>
</div>
<div class="article-item">
<?
$date= explode(" ",$this->item->created);
$date= explode("-",$date[0]);
$date= $date[2].".".$date[1].".".$date[0];
echo $date; ?>
<p class="tright">
<h2> <a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>">
<?php echo $this->escape($this->item->title); ?></a>
</h2>
<p class="tright">
<?php if($this->item->readmore != "0"){ //print_r($this->item); ?>
<a href="<?php echo $this->item->readmore_link; ?>" class="readon<?php echo $this->escape($this->item->params->get('pageclass_sfx')); ?>"><span>читать</span></a>
<?php }else{ ?>
<a href="index.php?option=com_content&view=article&id=<?php echo $this->item->id; ?>:<?php echo $this->item->alias; ?>&catid=<?php echo $this->item->catid; ?>" class="readon<?php echo $this->escape($this->item->params->get('pageclass_sfx')); ?>"><span>читать</span></a>
<?php } ?>
</p>
<?php // to do not that elegant would be nice to group the params ?>
</div>
<div class="item-separator"></div>
Осталось только сделать вывод анонсов материала
Что бы в $this->item->introtext; выводился только анонс, нужно в менеджере материалов, делить текст на анонс и "подробнее" смотри кнопку "Подробнее" в нижнем правом углу.
Если текст не делить, то он весь сохраняется в поле introtext.
Спасибо за ответ, но на старом движке он тоже не делился кнопкой подробнее- но в категориях материалов выводился только интротекст вот пример старого движка еще до апгрейда он еще стоит пока не снесен apogey-proekt.ru/novosti/
---------- Добавлено 16.03.2013 в 19:06 ----------
Получается на старом движке интро выводился отлично, а после апгрейда системы выводится весь текст...
Уже второй день воюю не как не могу найти ответ на вопрос...
Спасибо за ответ, но на старом движке он тоже не делился кнопкой подробнее- но в категориях материалов выводился только интротекст
Не может этого быть. зайдите в материалы и посмотрите.
Да к сожалению это так...
Статьи не разделенные кнопкой подробнее...
Прост если вы заметели старый blog_item.php написан под стиль mod_news_pro_gk4
Посмотрел, это изврат в шаблоне вызывать методы класса базы данных, а потом обрезать выводимый текст. Всё это должно выполняться в модели.
Ну а по сути проблемы вам необходимо использовать функцию для обрезки $this->item->introtext;
Как использовать разберетесь?
По гуглив вашим примером нашел вот такой пример кода
Теперь выводится вступительный текст материалов, но теперь проблема в другом...Изображения выводятся хаотично
когда я их выводил так
То я контролировал их размеры
---------- Добавлено 18.03.2013 в 11:58 ----------
Решил вывод изображений с помощью CSS
Спасибо за помощЬ
---------- Добавлено 18.03.2013 в 12:00 ----------
Тему просьба не закрывать, вдруг кому згодится...
вы сначала выборку ссылок на картинки делайте, потом чистите intro от тегов, и уже только после этого обрезайте лишний текст. Формат текста и картинок осуществляется стилями.
К слову обрезка строки с помощью substr не позволяет осуществить контроль за целостностью слов.
Более того он не всегда корректно работает с utf8, если в строке будут как латиница так и кириллица, то в конце обрезанной строки появятся крокозябры.
Ну с помощью css тоже не ахти получается...кривовато
Firebug в помощь.
вы сначала выборку ссылок на картинки делайте, потом чистите intro от тегов, и уже только после этого обрезайте лишний текст. Формат текста и картинок осуществляется стилями.
К слову обрезка строки с помощью substr не позволяет осуществить контроль за целостностью слов.
Более того он не всегда корректно работает с utf8, если в строке будут как латиница так и кириллица, то в конце обрезанной строки появятся крокозябры.
А подробнее не скажите как именно...
Как правельно код построить в blog_item.php
, то не че не выводится---------- Добавлено 18.03.2013 в 15:27 ----------
Вот щас как я сделал но теперь кракозябры появляются upgrade.web-studio.biz.ua/jupgrade/novosti/
---------- Добавлено 18.03.2013 в 15:29 ----------
А если вставляю в item_blog.php этот код
Подскажите плиз как же правельно всетаки сделать...