Как настроить категорию? Нужно два описания?

  • 40 Ответов
  • 1053 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Здравствуйте я новичок, как мне настроить категорию в виде блога чтобы описание было до подкатегорий и после.
Есть мысль, если сделать ссылку в меню на материал (его то можно править как хош (вместо категории)) в нём материалы (вместо подкатегорий). но алиас будет категории! как править роутер хз.

« Последнее редактирование: 21.09.2015, 23:12:54 от creative-0 »

*

midav

Описание чего, категории или подкатегорий ?
Ответы на вопросы по CSS . Откройте для себя Firebug

Описание чего, категории или подкатегорий ?
во общем в начале маленькое описание категории (сверху страницы)и уже после блока с подкатегориями полное описание  внизу.
« Последнее редактирование: 21.09.2015, 23:28:05 от creative-0 »

*

midav

Изменить макет вывода блога категории . Надо продублировать что ли, а смысл какой ?
Ответы на вопросы по CSS . Откройте для себя Firebug

Изменить макет вывода блога категории . Надо продублировать что ли, а смысл какой ?
в том то и дело разный текст. на одной странице сверху и снизу.

беда какая то даже в zoo категории не настроишь доп поля.

Изменить макет вывода блога категории . Надо продублировать что ли, а смысл какой ?
а где почитать про макет, его можно гибко настроить?

*

midav

Много можно где почитать, например здесь .
Из админки это настроить не получится, надо править файлы шаблона вывода .
Ответы на вопросы по CSS . Откройте для себя Firebug

Много можно где почитать, например здесь .
Из админки это настроить не получится, надо править файлы шаблона вывода .
спс. только не могу пока догнать, где писать, и как вставить второе описание категории внизу страницы. Ведь первое добавляется при создание или изменении категории, оно встаёт перед подкатегориями в верху страницы.
Буду разбираться, другого легкого решения думаю нет.
« Последнее редактирование: 22.09.2015, 00:18:31 от creative-0 »

*

midav

Как вариант можно в описании категории вставить в тексте какую нибудь фразу разделитель . И потом при выводе описания в шаблоне при помощи регулярного выражения разбить описание на две части .
Цитировать
Тут начало описания . {divider} Тут конец описания .
Ответы на вопросы по CSS . Откройте для себя Firebug

Как вариант можно в описании категории вставить в тексте какую нибудь фразу разделитель . И потом при выводе описания в шаблоне при помощи регулярного выражения разбить описание на две части .
В этом я несилён, далекие навыки PHP.
или может половину текста в переменную и вывод еcho в конце шаблона.(теория) ну что то вроде сам не знаю что написал. ;D
« Последнее редактирование: 22.09.2015, 00:46:08 от creative-0 »

*

midav

Где именно надо вывести, какой тип меню, блог категории ?
Ответы на вопросы по CSS . Откройте для себя Firebug

Где именно надо вывести, какой тип меню, блог категории ?
Да блог категории, но и в её подкатегориях тоже нужно описание также сверху и снизу.
Про макет, + что при обнове все не слетит.
« Последнее редактирование: 22.09.2015, 01:08:18 от creative-0 »

*

midav

А шаблон какой ? В шаблоне есть файл templates/ шаблон /html/com_content/category/blog.php ?
Ответы на вопросы по CSS . Откройте для себя Firebug

А шаблон какой ? В шаблоне есть файл templates/ шаблон /html/com_content/category/blog.php ?
в моём шаблоне такого пути нет. шаб.(it_thestore5)" ice theme" вроде.
В beez3 такой путь есть к blog.php могу поставить пока такой хоть посмотреть.
« Последнее редактирование: 22.09.2015, 01:24:15 от creative-0 »

*

midav

в моём шаблоне такого пути нет. шаб.(it_thestore5)" ice theme" вроде.
В beez3 такой путь есть к blog.php могу поставить пока такой хоть посмотреть.


Создай в шаблоне эти файлы . Скопировать можно или из beez3 или прямо из компонента . Если в шаблоне не переопределены, значит берутся из компонента .
Ответы на вопросы по CSS . Откройте для себя Firebug

Создай в шаблоне эти файлы . Скопировать можно или из beez3 или прямо из компонента . Если в шаблоне не переопределены, значит берутся из компонента .
Всё, файлы из beez3 добавил в шаблон. /html/com_content/category/blog.php.
« Последнее редактирование: 22.09.2015, 13:26:57 от creative-0 »

*

midav

Всё, файлы из beez3 добавил в шаблон. /html/com_content/category/blog.php.

И как получается изменить вывод, или не особо ? :)
Ответы на вопросы по CSS . Откройте для себя Firebug

И как получается изменить вывод, или не особо ? :)
Дальше не знаю как ?

А если в конце шаблона блог.пхп вставить модуль типа {loadposition}? идеи то есть а как реализовать не знаю.

*

midav

На мой взгляд самое простое это использовать искусственный разделитель и потом в шаблоне отловить его . Разделить на две части и вывести сверху первую часть и внизу вторую . Например если в описании писать :
Цитировать
Первая часть описания . {divider} Вторая часть описания .
В шаблоне, в файле blog.php сначала разделяем на две части :
Код: php
if ($this->category->description) {
$category_description =  JHtml::_('content.prepare', $this->category->description, '', 'com_content.category');
$category_description = explode('{divider}', $category_description);
}
потом выводим первую часть там где она и была, заменяя переменную на свою :
Код: php
			<?php if ($this->params->get('show_description') && $category_description['0']) : ?>
<?php echo $category_description['0']; ?>
<?php endif; ?>

и вторую часть выводим внизу, например перед пагинацией :
Код: php
	<?php if ($this->params->get('show_description') && $category_description['1'] ) : ?>
<div class="category-desc clearfix">
<?php echo $category_description['1']; ?>
</div>
<?php endif; ?>
Ответы на вопросы по CSS . Откройте для себя Firebug

Первую часть текста выводит а вторую нет.
Действия: Меню- категория виде блога, в настройках категории выбран переопределенный макет blog-20150922-175535.php, в описании категории по середине текста вставлен {divider}.  Скорее всего код вставил неправильно в blog-20150922-175535.php (с разделением наверно не понял куда).

Код: php
<?php
/**
 * @package     Joomla.Site
 * @subpackage  com_content
 *
 * @copyright   Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */




if ($this->category->description) {
$category_description =  JHtml::_('content.prepare', $this->category->description, '', 'com_content.category');
$category_description = explode('{divider}', $category_description);
}




defined('_JEXEC') or die;

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');

JHtml::_('behavior.caption');
?>
<div class="blog<?php echo $this->pageclass_sfx; ?>" itemscope itemtype="http://schema.org/Blog">
<?php if ($this->params->get('show_page_heading')) : ?>
<div class="page-header">
<h1> <?php echo $this->escape($this->params->get('page_heading')); ?> </h1>
</div>
<?php endif; ?>

<?php if ($this->params->get('show_category_title', 1) or $this->params->get('page_subheading')) : ?>
<h2> <?php echo $this->escape($this->params->get('page_subheading')); ?>
<?php if ($this->params->get('show_category_title')) : ?>
<span class="subheading-category"><?php echo $this->category->title; ?></span>
<?php endif; ?>
</h2>
<?php endif; ?>

<?php if ($this->params->get('show_cat_tags', 1) && !empty($this->category->tags->itemTags)) : ?>
<?php $this->category->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
<?php echo $this->category->tagLayout->render($this->category->tags->itemTags); ?>
<?php endif; ?>

<?php if ($this->params->get('show_description', 1) || $this->params->def('show_description_image', 1)) : ?>
<div class="category-desc clearfix">
<?php if ($this->params->get('show_description_image') && $this->category->getParams()->get('image')) : ?>
<img src="<?php echo $this->category->getParams()->get('image'); ?>" alt="<?php echo htmlspecialchars($this->category->getParams()->get('image_alt')); ?>"/>
<?php endif; ?>
            
            
            
            
<?php if ($this->params->get('show_description') && $category_description['0']) : ?>
<?php echo $category_description['0']; ?>
<?php endif; ?>
            
            
            
</div>
<?php endif; ?>

<?php if (empty($this->lead_items) && empty($this->link_items) && empty($this->intro_items)) : ?>
<?php if ($this->params->get('show_no_articles', 1)) : ?>
<p><?php echo JText::_('COM_CONTENT_NO_ARTICLES'); ?></p>
<?php endif; ?>
<?php endif; ?>

<?php $leadingcount = 0; ?>
<?php if (!empty($this->lead_items)) : ?>
<div class="items-leading clearfix">
<?php foreach ($this->lead_items as &$item) : ?>
<div class="leading-<?php echo $leadingcount; ?><?php echo $item->state == 0 ? ' system-unpublished' : null; ?>"
itemprop="blogPost" itemscope itemtype="http://schema.org/BlogPosting">
<?php
$this->item = & $item;
echo $this->loadTemplate('item');
?>
</div>
<?php $leadingcount++; ?>
<?php endforeach; ?>
</div><!-- end items-leading -->
<?php endif; ?>

<?php
$introcount = (count($this->intro_items));
$counter = 0;
?>

<?php if (!empty($this->intro_items)) : ?>
<?php foreach ($this->intro_items as $key => &$item) : ?>
<?php $rowcount = ((int) $key % (int) $this->columns) + 1; ?>
<?php if ($rowcount == 1) : ?>
<?php $row = $counter / $this->columns; ?>
<div class="items-row cols-<?php echo (int) $this->columns; ?> <?php echo 'row-' . $row; ?> row-fluid clearfix">
<?php endif; ?>
<div class="span<?php echo round((12 / $this->columns)); ?>">
<div class="item column-<?php echo $rowcount; ?><?php echo $item->state == 0 ? ' system-unpublished' : null; ?>"
itemprop="blogPost" itemscope itemtype="http://schema.org/BlogPosting">
<?php
$this->item = & $item;
echo $this->loadTemplate('item');
?>
</div>
<!-- end item -->
<?php $counter++; ?>
</div><!-- end span -->
<?php if (($rowcount == $this->columns) or ($counter == $introcount)) : ?>
</div><!-- end row -->
<?php endif; ?>
<?php endforeach; ?>
<?php endif; ?>

<?php if (!empty($this->link_items)) : ?>
<div class="items-more">
<?php echo $this->loadTemplate('links'); ?>
</div>
<?php endif; ?>

<?php if (!empty($this->children[$this->category->id]) && $this->maxLevel != 0) : ?>
<div class="cat-children">
<?php if ($this->params->get('show_category_heading_title_text', 1) == 1) : ?>
<h3> <?php echo JText::_('JGLOBAL_SUBCATEGORIES'); ?> </h3>
<?php endif; ?>
<?php echo $this->loadTemplate('children'); ?> </div>
<?php endif; ?>
    
    
    
    
    
    <?php if ($this->params->get('show_description') && $category_description['1'] ) : ?>
<div class="category-desc clearfix">
<?php echo $category_description['1']; ?>
</div>
        <?php endif; ?>
        
        
        
        
      
<?php if (($this->params->def('show_pagination', 1) == 1 || ($this->params->get('show_pagination') == 2)) && ($this->pagination->get('pages.total') > 1)) : ?>
<div class="pagination">
<?php if ($this->params->def('show_pagination_results', 1)) : ?>
<p class="counter pull-right"> <?php echo $this->pagination->getPagesCounter(); ?> </p>
<?php endif; ?>
<?php echo $this->pagination->getPagesLinks(); ?> </div>
                   <?php endif; ?>
</div>
« Последнее редактирование: 23.09.2015, 21:30:38 от creative-0 »

*

midav

Вроде бы всё правильно вставлено, должно работать .
Ответы на вопросы по CSS . Откройте для себя Firebug

Все равно спасибо. За полученный опыт.

*

midav

У меня этот код работает . Проверил тестовом сайте . Не знаю почему у тебя не работает . Как вообще разделяет функция текст или нет ? Что содержится в переменной после обработки ? Сделай дамп переменной после explode .
Код
var_dump($category_description)
Ответы на вопросы по CSS . Откройте для себя Firebug

Сделал еще сайт и попробовал опять не работает, также первою часть текста выводит вторую нет.


*

midav

Не знаю почему так . У меня этот код работает .
Текст не разделяется, или пропадает вторая часть текста ? Что показывает дамп переменной после разделения ?
Ответы на вопросы по CSS . Откройте для себя Firebug

Как вообще разделяет функция текст или нет ? Что содержится в переменной после обработки ? Сделай дамп переменной после explode .
Код
var_dump($category_description)
Как узнать разделяет функция текст или нет ? просто в тексте вставил {divider} да?
Что содержится в переменной после обработки ?  как узнать?
Сделай дамп переменной после explode. тоже не знаю как .
var_dump($category_description)?

Не знаю почему так . У меня этот код работает .
Текст не разделяется, или пропадает вторая часть текста ? Что показывает дамп переменной после разделения ?
нужно время буду читать изучать.

если у тебя работает, значит я где то лажаю только где?