Форум русской поддержки Joomla!® CMS
08.12.2016, 04:16:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор

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

 (Прочитано 724 раз)
0 Пользователей и 1 Гость смотрят эту тему.
creative-0
Осваиваюсь на форуме
***

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

Сообщений: 26


« : 21.09.2015, 21:54:15 »

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

« Последнее редактирование: 21.09.2015, 22:12:54 от creative-0 » Записан
midav
Живу я здесь
******

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

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



« Ответ #1 : 21.09.2015, 22:16:26 »

Описание чего, категории или подкатегорий ?
Записан
creative-0
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #2 : 21.09.2015, 22:23:42 »

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

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

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



« Ответ #3 : 21.09.2015, 22:27:42 »

Изменить макет вывода блога категории . Надо продублировать что ли, а смысл какой ?
Записан
creative-0
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #4 : 21.09.2015, 22:28:52 »

Изменить макет вывода блога категории . Надо продублировать что ли, а смысл какой ?
в том то и дело разный текст. на одной странице сверху и снизу.
Записан
creative-0
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #5 : 21.09.2015, 22:32:16 »

беда какая то даже в zoo категории не настроишь доп поля.
Записан
creative-0
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #6 : 21.09.2015, 22:34:08 »

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

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

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



« Ответ #7 : 21.09.2015, 22:56:53 »

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

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

Сообщений: 26


« Ответ #8 : 21.09.2015, 23:07:48 »

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

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

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



« Ответ #9 : 21.09.2015, 23:31:34 »

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

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

Сообщений: 26


« Ответ #10 : 21.09.2015, 23:41:33 »

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

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

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



« Ответ #11 : 21.09.2015, 23:57:58 »

Где именно надо вывести, какой тип меню, блог категории ?
Записан
creative-0
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #12 : 22.09.2015, 00:01:39 »

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

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

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



« Ответ #13 : 22.09.2015, 00:09:11 »

А шаблон какой ? В шаблоне есть файл templates/ шаблон /html/com_content/category/blog.php ?
Записан
creative-0
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #14 : 22.09.2015, 00:20:34 »

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

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

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



« Ответ #15 : 22.09.2015, 01:17:04 »

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


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

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

Сообщений: 26


« Ответ #16 : 22.09.2015, 12:20:16 »

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

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

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



« Ответ #17 : 22.09.2015, 22:51:06 »

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

И как получается изменить вывод, или не особо ? Azn
Записан
creative-0
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #18 : 23.09.2015, 00:55:28 »

И как получается изменить вывод, или не особо ? Azn
Дальше не знаю как ?
Записан
creative-0
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #19 : 23.09.2015, 01:01:21 »

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

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

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



« Ответ #20 : 23.09.2015, 01:19:51 »

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

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

Сообщений: 26


« Ответ #21 : 23.09.2015, 20:16:00 »

Первую часть текста выводит а вторую нет.
Действия: Меню- категория виде блога, в настройках категории выбран переопределенный макет blog-20150922-175535.php, в описании категории по середине текста вставлен {divider}.  Скорее всего код вставил неправильно в blog-20150922-175535.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, 20:30:38 от creative-0 » Записан
midav
Живу я здесь
******

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

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



« Ответ #22 : 23.09.2015, 21:19:31 »

Вроде бы всё правильно вставлено, должно работать .
Записан
creative-0
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #23 : 24.09.2015, 09:18:41 »

Все равно спасибо. За полученный опыт.
Записан
midav
Живу я здесь
******

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

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



« Ответ #24 : 24.09.2015, 09:27:33 »

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

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

Сообщений: 26


« Ответ #25 : 28.09.2015, 20:25:22 »

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

Записан
midav
Живу я здесь
******

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

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



« Ответ #26 : 28.09.2015, 20:31:14 »

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

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

Сообщений: 26


« Ответ #27 : 28.09.2015, 21:06:13 »

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

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

Сообщений: 26


« Ответ #28 : 28.09.2015, 21:07:53 »

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

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

Сообщений: 26


« Ответ #29 : 28.09.2015, 21:09:21 »

если у тебя работает, значит я где то лажаю только где?
Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | 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