Перейти к содержимому


Фотография
- - - - -

Нужен шаблон для человеческого вывода subcategory

subcategory шаблон каталога

Лучший Ответ SmetDenis , 24 June 2014 - 22:14

Какой-то вы нервный ;) Все хорошо?

Если вдруг для вас это новость, то сейчас глубокая ночь практически по все территории России. А рабочий день закончился даже в Киеве. У меня, например, давно за полночь. Наша поддержка отвечает в течении суток (если читали условия лиц договора, с которым согласились).
 
 
 
Если вдруг читали нашу документацию (или хотя бы смотрели видео, смотрели название классов), то знаете что то, что называют подкатегорией в Zoo, в нашей терминологии будет скорее под-подкатегорией, т.к начало отсчета - текущая родительская категория.
 

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

 
 
Как раз именно так "коряво" сделано в рецептах Zoo. Ни больше, ни меньше...

ute_200x0.png
 
Вся эта шумиха вокруг адаптивного дизайна - это пару строк media ( основы CSS, кстати ;) базовые знания для любой веб разработки ). Стили следующего вида переносятся практически "копипастом" 1:1 т.к имена классов совпадают

/* 
файл http://www.yootheme.com/zoo/apps/media/zoo/applications/cookbook/templates/default/assets/css/category.css
начиная со слова "Responsive"
 
например...
*/
 
@media (min-width: 480px) and (max-width: 959px) {
        #yoo-zoo .width20,
        #yoo-zoo .width25 { width: 50%; }
        #yoo-zoo .width50 .width50 { width: 100%; }
}

 
 
HTML Шаблоны 
 
Сделать вот такой вывод очень просто
zja_200x0.png
 
В первую очередь у подкатегорий выставляем количество колонок - 1, потому что у вас на колонки делятся под-подкатегории. Если не понятно
thg_200x0.png
Если до сих пор не понятно, читаем документацию, смотрим схему и видео
 

Далее нам нужно изменить только 1 шаблон - подкатегории, 
Создаем свой вывод на основе _default.php
media\zoo\applications\jbuniversal\templates\catalog\renderer\subcategory\<ALIAS каталога>.php
и добавляем там наши колонки. Итоговый файл приложил к топику.
На эти строки стоит обратить внимание
olg_200x0.png
 
Отвечают за количество колонок и вывод пустых категорий.
 
Весь сыр бор из-за одного цикла с тегами li и 5 грамм css c модным словом "Responsive"
 
Советую вам не паниковать и прочитать документацию. Её легко найти на форуме (красная жирная ссылка) и на нашем сайте.
Наш шаблонизатор более гибкий чем тот, что идет в Zoo изначально. Перенести несколько срок CSS не так сложно как кажется.
 
PS Работа шаблонов описана в документации, если не понятно, задаем вопрос в виде топика  и ждем ответа поддержки.
 
 

Предсказываю будущее этого шаблона с подобными вложенностями
 
Изначально в JBZoo не предусмотрен вывод под-подкатегорий. Почему? Все просто, объясняю.
 
Вебмастера (программистами их явно не назвать) сайтов думают что код Zoo / JBZoo "волшебный" и бездумно начинаю выводить на одной странице сотни, а то и тысячи категорий со связями с десятками тысяч материалов. А для каждой категории генерируется ссылка и вычисляет количество потомков-материалов.
 
В итоге реальность бьет с размаху в лицо и эта страница начинает съедать все найденные ресурсы сервера и на каждую категорию делать как минимум 1 запрос.

Чтобы оградить "безумных" пользователей от этого, подобные шаблоны не стали включать в сборку.
Иначе потом задают вопросы вроде http://forum.jbzoo.c...-oshibki-sajta/
Особенно про время и память. Либо хостер начинает ругаться.
 
Все камни полетят куда? на JBZoo конечно. И почему то никто не задумывается, что для вывода количества материалов делаются запросы в бд по одному на каждую циферку в скобках.
 
К слову, JBZoo работает с базой в гигабайт, доказано - http://forum.jbzoo.c...y-jbzoo-dlya-r/

 

 

сколько денег?

Очень странный вопрос. Мы такие задаем тут - http://forum.jbzoo.c...oznagrazhdenie/

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 13

#1 discoboss

discoboss

Отправлено 24 June 2014 - 16:55

Добрый день.

 

Купил, установил.. кое-что настроил...

Прилагаю фото..

почувствуйте разницу как всё красиво и элегантно показывается в APP Рецепты и как у вашего APP...

У вас основная категория делится на колонки.. а далее бред если под категорий много и их разное количество..

Некрасиво и не удобно..

в APP Рецепты Подкатегории делятся на колонки... и это прописано в коде PHP..

увы я не силён в PHP коде чтобы переписать ваш код.. и не могу взять готовый код с APP Рецепты и заменить вместо вашего.. т.к. переменные разные..


можете создать новый шаблон в папке subcategory ??

со стилями я сам разберусь.. и подгоню по дизайну...

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


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

сможете сделать?

когда? и нужно ли за это доплачивать??

я думаю это не только мне будет нужным и интересным...

Прикрепленные изображения

  • jbzoo.jpg
  • как нужно.jpg

  • 0

#2 i001

i001

Отправлено 24 June 2014 - 17:09

если правильно понял, ваша проблема решается именно средствами css, со ссылкой на сайт было бы проще вам помочь...


  • 0

#3 black_paw

black_paw

Отправлено 24 June 2014 - 17:13

со стилями я сам разберусь.. и подгоню по дизайну...
 

как то вы сами себе противоречите. Переделать данный вывод subcategory именно посредством css не представит никакой сложности независимо "RESPONSIVE" или еще какой "колхоз".

 

PS. не откроете секрета, что такое APP?


  • 0

#4 discoboss

discoboss

Отправлено 24 June 2014 - 17:22

в ZOO Рецепты. во Фронтпейдже. под категория генерируется и разбивается на колонки.. CSS тут вообще не причём...
колонки отображаются удобно по алфавиту, если делать так средствами CSS, то получится не так.. для чтения не удобно.. т.к. колонки уже не будут по алфавиту..

 

вот как отображается у вас: http://recipes.tort.net.ua/zoo.html

 

и вот как у ZOO Рецепты: http://recipes.tort.net.ua/


  • 0

#5 i001

i001

Отправлено 24 June 2014 - 17:28

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

http://joxi.ru/FqepUxjKTJBpH3mJlWY


  • 0

#6 discoboss

discoboss

Отправлено 24 June 2014 - 17:37

А по вашему тут на колонки не разбито?? http://recipes.tort.net.ua/zoo.html


Вы PHP код вывода рецептов гляньте пожалуйста...

<?php

// render sub categories
if ($this->params->get('template.show_sub_categories') && $selected_child_categories = $category->getChildren()) {

// remove empty categories
if (!$this->params->get('config.show_empty_categories', false)) {
$selected_child_categories = array_filter($selected_child_categories, create_function('$category', 'return $category->totalItemCount();'));
}

// init vars
$i = 0;
$columns = array();
$column = 0;
$row = 0;
$rows = ceil(count($selected_child_categories) / $this->params->get('template.categories_cols'));

// create columns
foreach ($selected_child_categories as $child) {

if ($this->params->get('template.categories_order')) {
// order down
if ($row >= $rows) {
$column++;
$row = 0;
$rows = ceil((count($selected_child_categories) - $i) / ($this->params->get('template.categories_cols') - $column));
}
$row++;
$i++;
} else {
// order across
$column = $i++ % $this->params->get('template.categories_cols');
}

if (!isset($columns[$column])) {
$columns[$column] = '';
}

$link = $this->app->route->category($child);
$item_count = ($this->params->get('template.show_sub_categories_item_count')) ? ' <span>('.$child->totalItemCount().')</span>' : '';
$children = '<li><a href="'.$link.'" title="'.$child->name.'">'.$child->name.'</a>'.$item_count.'</li>';

$columns[$column] .= $children;
}

// render columns
$count = count($columns);
if ($count) {
echo '<div class="sub-categories sub-categories-col-'.$count.'">';
for ($j = 0; $j < $count; $j++) {
$first = ($j == 0) ? ' first' : null;
$last = ($j == $count - 1) ? ' last' : null;
echo '<ul class="width'.intval(100 / $count).$first.$last.'">'.$columns[$j].'</ul>';
}
echo '</div>';
}

}

?>

вот такое решение.. реализовано в ZOO рецепты для такого вывода..

 

и тут далеко не СSS решение...


Сообщение отредактировал tapakan: 24 June 2014 - 20:57

  • 0

#7 discoboss

discoboss

Отправлено 24 June 2014 - 19:22

Я так понимаю.. помощи не дождусь..

 

кто может сделать, т.к. как это реализовано тут: http://www.yootheme....ntpage&Itemid=7

 

чтоб каждая колонка под категории шла отдельным списком <ul><li> ... </li></ul>

 

сколько денег?


  • 0

#8 SmetDenis

SmetDenis

Отправлено 24 June 2014 - 22:14   Лучший Ответ

Какой-то вы нервный ;) Все хорошо?

Если вдруг для вас это новость, то сейчас глубокая ночь практически по все территории России. А рабочий день закончился даже в Киеве. У меня, например, давно за полночь. Наша поддержка отвечает в течении суток (если читали условия лиц договора, с которым согласились).
 
 
 
Если вдруг читали нашу документацию (или хотя бы смотрели видео, смотрели название классов), то знаете что то, что называют подкатегорией в Zoo, в нашей терминологии будет скорее под-подкатегорией, т.к начало отсчета - текущая родительская категория.
 

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

 
 
Как раз именно так "коряво" сделано в рецептах Zoo. Ни больше, ни меньше...

ute_200x0.png
 
Вся эта шумиха вокруг адаптивного дизайна - это пару строк media ( основы CSS, кстати ;) базовые знания для любой веб разработки ). Стили следующего вида переносятся практически "копипастом" 1:1 т.к имена классов совпадают

/* 
файл http://www.yootheme.com/zoo/apps/media/zoo/applications/cookbook/templates/default/assets/css/category.css
начиная со слова "Responsive"
 
например...
*/
 
@media (min-width: 480px) and (max-width: 959px) {
        #yoo-zoo .width20,
        #yoo-zoo .width25 { width: 50%; }
        #yoo-zoo .width50 .width50 { width: 100%; }
}

 
 
HTML Шаблоны 
 
Сделать вот такой вывод очень просто
zja_200x0.png
 
В первую очередь у подкатегорий выставляем количество колонок - 1, потому что у вас на колонки делятся под-подкатегории. Если не понятно
thg_200x0.png
Если до сих пор не понятно, читаем документацию, смотрим схему и видео
 

Далее нам нужно изменить только 1 шаблон - подкатегории, 
Создаем свой вывод на основе _default.php
media\zoo\applications\jbuniversal\templates\catalog\renderer\subcategory\<ALIAS каталога>.php
и добавляем там наши колонки. Итоговый файл приложил к топику.
На эти строки стоит обратить внимание
olg_200x0.png
 
Отвечают за количество колонок и вывод пустых категорий.
 
Весь сыр бор из-за одного цикла с тегами li и 5 грамм css c модным словом "Responsive"
 
Советую вам не паниковать и прочитать документацию. Её легко найти на форуме (красная жирная ссылка) и на нашем сайте.
Наш шаблонизатор более гибкий чем тот, что идет в Zoo изначально. Перенести несколько срок CSS не так сложно как кажется.
 
PS Работа шаблонов описана в документации, если не понятно, задаем вопрос в виде топика  и ждем ответа поддержки.
 
 

Предсказываю будущее этого шаблона с подобными вложенностями
 
Изначально в JBZoo не предусмотрен вывод под-подкатегорий. Почему? Все просто, объясняю.
 
Вебмастера (программистами их явно не назвать) сайтов думают что код Zoo / JBZoo "волшебный" и бездумно начинаю выводить на одной странице сотни, а то и тысячи категорий со связями с десятками тысяч материалов. А для каждой категории генерируется ссылка и вычисляет количество потомков-материалов.
 
В итоге реальность бьет с размаху в лицо и эта страница начинает съедать все найденные ресурсы сервера и на каждую категорию делать как минимум 1 запрос.

Чтобы оградить "безумных" пользователей от этого, подобные шаблоны не стали включать в сборку.
Иначе потом задают вопросы вроде http://forum.jbzoo.c...-oshibki-sajta/
Особенно про время и память. Либо хостер начинает ругаться.
 
Все камни полетят куда? на JBZoo конечно. И почему то никто не задумывается, что для вывода количества материалов делаются запросы в бд по одному на каждую циферку в скобках.
 
К слову, JBZoo работает с базой в гигабайт, доказано - http://forum.jbzoo.c...y-jbzoo-dlya-r/

 

 

сколько денег?

Очень странный вопрос. Мы такие задаем тут - http://forum.jbzoo.c...oznagrazhdenie/

Прикрепленные файлы

  • Прикрепленный файл  recepty.php   3.27К   81 Количество загрузок:

  • 2
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#9 discoboss

discoboss

Отправлено 24 June 2014 - 22:37

Спасибо..

 

это всё я уже и так сделал..

 

проблема всё равно не решена полностью..

 

т.к. удобно воспринимать информацию, чтения под-под категорий когда она отсортирована и идёт по алфавиту..

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

 

я с ZOO компонентом уже работаю два года..
знаю  что и как..

 

просто сейчас встала задача сделать нормальный фильтр и корзину..

только из-за этого и решил приобрести вашу сборку.. т.к. в ZOOlanders всё это ещё в "сыром" виде.. и не работает так как бы хотелось..


  • 0

#10 SmetDenis

SmetDenis

Отправлено 24 June 2014 - 23:08

Всего то лишь... Напишите любой удобный для вас цикл ;)
(взял его из вашего же фрагмента кода выше, только отступы в коде поставил)

y93_200x0.png

bt6_200x0.png

Прикрепленные файлы

  • Прикрепленный файл  recepty.php   3.78К   78 Количество загрузок:

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.






Темы с аналогичным тегами subcategory, шаблон каталога

Click to return to top of page in style!