Корректирую вывод описания в категории К2

  • 29 Ответов
  • 1368 Просмотров

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

*

Оффлайн kilnart

Приветствую всех!

Создаю категорию в К2 и пытаюсь сделать два описания. Одно будет сверху, как есть по умолчанию, второе должно быть снизу, уже под выводом материалов категории. На рисунке ниже привел то что мне нужно.


Синим отмечено то что есть по умолчанию, красным то что хочу получить.

На сколько я понимаю, нужно корректировать файл шаблона самого компонента К2, а где это, найти не могу.

Может кто сталкивался, жду помощи.

*

Оффлайн kilnart

поискал инфу, ребята пишут что нужен плагин. найти пока не могу. продолжаю ждать помощи.

*

Оффлайн kisBoss

  • *****
  • 438
  • [+]36 / [-]0
  • ник Tobol
    • Просмотр профиля
В компоненте к2 нет возможности делать описанию категории вводный текст и полный текст. Так, что вам придется либо править код и базу данных, либо пойти на хитрости.
1. Если у вас каждая категория привязана к пункту меню, тогда можно просто на каждый такой пункт сделать модуль с произвольным кодом и привязать его именно к меню которое открывает эту категорию.
2. Посложнее. Необходимо создать на каждую категорию свой шаблон и уже в его код встроить необходимый текст. Я частенько так делаю.
Может и как то попроще можно. Но сейчас не приходит в голову.
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.

*

Оффлайн kilnart

спасибо, принято.

первый вариант не подойдет, так текст отображаться будет во всей категории, то есть и в самой категории и в материалах, которые привязаны к этой категории. этот вариант отпадает.

по поводу шаблонов, гиморно конечно, но на заметку возьму.

*

Оффлайн jurassik

первый вариант не подойдет, так текст отображаться будет во всей категории, то есть и в самой категории и в материалах, которые привязаны к этой категории. этот вариант отпадает.
позицию модуля можно сделать только в шаблоне категории
сам шучу - сам смеюсь

*

Оффлайн kilnart

позицию модуля можно сделать только в шаблоне категории

т.е. в сам шаблон K2 вписать:

                <?php if ($this->countModules('мое название')): ?>
                    <jdoc:include type="modules"  name="мое название" />
                <?php endif; ?>

таким образом?

*

Оффлайн jurassik

т.е. в сам шаблон K2 вписать:

                <?php if ($this->countModules('мое название')): ?>
                    <jdoc:include type="modules"  name="мое название" />
                <?php endif; ?>

таким образом?
нет, ищите на форуме как вставить позицию модуля в шаблоны (или что-то подобное)
сам шучу - сам смеюсь

*

Оффлайн jurassik

еще можно так:
разбивать описание любым тегом\классом на две части, а в шаблоне разбиваем описание согласно этого синтаксиса
Спойлер
[свернуть]
сам шучу - сам смеюсь

*

Оффлайн kilnart

еще можно так:
разбивать описание любым тегом\классом на две части, а в шаблоне разбиваем описание согласно этого синтаксиса
Спойлер
[свернуть]

для описания категории такой кнопки нет.

*

Оффлайн kilnart

нет, ищите на форуме как вставить позицию модуля в шаблоны (или что-то подобное)

не пойму, это я что то не так делаю, или поиск не работает?

*

Оффлайн capricorn

я правильно понимаю, что у вас пункт меню K2 категории, и вы хотите часть описания категории разместить внизу (2-х описаний категории в K2 вроде нет)? файл шаблона вывода нашли? Версия J какая?

<hr id="system-readmore" />
это можно вставить в описание категории. на мой взгляд, задача стоит - выводить то, что после него внизу страницы, и игнорировать это в обычном выводе описания категории вверху.
« Последнее редактирование: 14.12.2014, 22:04:37 от capricorn »

*

Оффлайн kilnart

я правильно понимаю, что у вас пункт меню K2 категории, и вы хотите часть описания категории разместить внизу (2-х описаний категории в K2 вроде нет)? файл шаблона вывода нашли? Версия J какая?

да все верно. использую Joomla 3

<hr id="system-readmore" />
это можно вставить в описание категории. на мой взгляд, задача стоит - выводить то, что после него внизу страницы, и игнорировать это в обычном выводе описания категории вверху.

да можно и такой вариант использовать. только как?

*

Оффлайн capricorn

смотрю на Joomla! 2.5.28. K2 v2.6.9. файл ~/components/com_k2/templates/default/category.php.

начиная со строки 35:
<?php if(isset($this->category) || ( $this->params->get('subCategories') && isset($this->subCategories) && count($this->subCategories) )): ?>
<!-- Blocks for current category and subcategories -->
<div class="itemListCategoriesBlock">

<?php if(isset($this->category) && ( $this->params->get('catImage') || $this->params->get('catTitle') || $this->params->get('catDescription') || $this->category->event->K2CategoryDisplay )): ?>

похоже надо немного допилить.


*

Оффлайн jurassik

для описания категории такой кнопки нет.
например в редакторе ckeditor есть кнопка "читать больше"
сам шучу - сам смеюсь

*

Оффлайн capricorn

я думаю, надо немного посмотреть на K2. сделать по аналогии с отображением материала K2.

а зачем вам это надо?
« Последнее редактирование: 14.12.2014, 23:23:46 от capricorn »

*

Оффлайн kilnart

я думаю, надо немного посмотреть на K2. сделать по аналогии с отображением материала K2.

а зачем вам это надо?

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

*

Оффлайн kilnart

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

*

Оффлайн capricorn

да можно... но хак приличный будет.
« Последнее редактирование: 15.12.2014, 02:11:09 от capricorn »

*

Оффлайн kilnart

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

*

Оффлайн capricorn

Цитировать
тут проскользнула мысль добавить модуль в категорию

не думаю, что это хороший выход. вопрос в том как добавить поле в БД K2 - в эту таблицу, а не костыли лепить.

SHOW COLUMNS FROM ***_k2_categories;
« Последнее редактирование: 15.12.2014, 02:32:54 от capricorn »

*

Оффлайн jurassik

не думаю, что это хороший выход. вопрос в том как добавить поле в БД K2 - в эту таблицу, а не костыли лепить.

SHOW COLUMNS FROM ***_k2_categories;
добавить поле в БД K2 - это и есть костыль, а модуль == стандартный функционал
сам шучу - сам смеюсь

*

Оффлайн jurassik

не пойму, это я что то не так делаю, или поиск не работает?
<?php
    $document    
= &JFactory::getDocument();
    
$renderer    $document->loadRenderer('modules');
    
$options    = array('style' => 'xhtml');
    
$position    'readmore-desc-category';
    echo 
$renderer->render($position$optionsnull);
?>
сам шучу - сам смеюсь

*

Оффлайн kilnart

<?php
    $document    
= &JFactory::getDocument();
    
$renderer    $document->loadRenderer('modules');
    
$options    = array('style' => 'xhtml');
    
$position    'readmore-desc-category';
    echo 
$renderer->render($position$optionsnull);
?>

спасибо. я так понял, этот код вставляем в шаблон категории K2 в интересующее место?

*

Оффлайн kilnart

ребят, ну так чего делать?

*

Оффлайн jurassik

спасибо. я так понял, этот код вставляем в шаблон категории K2 в интересующее место?
да,
создай позицию модуля,
публикуй в нее что надо
сам шучу - сам смеюсь

*

Оффлайн kilnart

да,
создай позицию модуля,
публикуй в нее что надо

не понял. я вставляю этот код:

<?php
    $document    
= &JFactory::getDocument();
    
$renderer    $document->loadRenderer('modules');
    
$options    = array('style' => 'xhtml');
    
$position    'readmore-desc-category';
    echo 
$renderer->render($position$optionsnull);
?>


в шаблон категории К2, далее, в шаблоне, в нужном месте, прописываю:

        <?php if ($this->countModules('название модуля')): ?>
            <jdoc:include type="modules"  name="название модуля"/>
        <?php endif; ?>

и через админку, добавляю в это место модуль. все верно?

*

Оффлайн capricorn

Цитировать
да можно и такой вариант использовать. только как?

на скорую руку можно так (проверил для J2.5, K2 2.6.9). вариант подойдет, если нужны только 2 части описания категории. пункт меню K2>>категории (назначена одна категория).

в редакторе вставляем в описание категории тег <hr id="system-readmore" /> (кнопкой вставить "Readmore"). описание становится таким:
Спойлер
[свернуть]

далее выводим в стандартном описании категории ее часть до вхождения тега <hr id="system-readmore" /> и добавляем  вниз (я добавил перед пагинацией) вывод части описания категории после вхождения <hr id="system-readmore" />

файл:
components\com_k2\templates\default\category.php

исходник:
Спойлер
[свернуть]

отредактированный:
Спойлер
[свернуть]

Изменения можно посмотреть в Notepad++ -> Compare files.

*

Оффлайн kilnart

на скорую руку можно так (проверил для J2.5, K2 2.6.9). вариант подойдет, если нужны только 2 части описания категории. пункт меню K2>>категории (назначена одна категория).

в редакторе вставляем в описание категории тег <hr id="system-readmore" /> (кнопкой вставить "Readmore"). описание становится таким:
Спойлер
[свернуть]

далее выводим в стандартном описании категории ее часть до вхождения тега <hr id="system-readmore" /> и добавляем  вниз (я добавил перед пагинацией) вывод части описания категории после вхождения <hr id="system-readmore" />

файл:
components\com_k2\templates\default\category.php

исходник:
Спойлер
[свернуть]

отредактированный:
Спойлер
[свернуть]

Изменения можно посмотреть в Notepad++ -> Compare files.


спасибо за помощь. сейчас попробую. отпишусь.

*

Оффлайн kilnart

ребят, спасибо. вариант с <hr id="system-readmore" /> работает. задача решена.

capricorn отпишусь в личку.

*

Оффлайн falkas

  • **
  • 10
  • [+]0 / [-]0
  • http://mygoodjob.ru
    • Просмотр профиля
    • Работа в интернете
не понял. я вставляю этот код:

<?php
    $document    
= &JFactory::getDocument();
    
$renderer    $document->loadRenderer('modules');
    
$options    = array('style' => 'xhtml');
    
$position    'readmore-desc-category';
    echo 
$renderer->render($position$optionsnull);
?>


в шаблон категории К2, далее, в шаблоне, в нужном месте, прописываю:

        <?php if ($this->countModules('название модуля')): ?>
            <jdoc:include type="modules"  name="название модуля"/>
        <?php endif; ?>

и через админку, добавляю в это место модуль. все верно?
Спасибо дорогой ты наш человек ;-). Весь день *бался с этим