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

tsg

  • Осваиваюсь на форуме
  • 24
  • 1 / 0
Подскажите как реализовать вывод категорий в модуле ZOO Category выпадающим списком и также сделать такой вывод в модуле ZOO Item (как на фото).
*

mickle

  • Осваиваюсь на форуме
  • 20
  • 2 / 0
ИМХО только хаком ядра.
/administrator/components/com_zoo/helpers/html.php
function categoryList()

добавляешь новый параметр IsDropDown=false, и правишь
        return $this->_('zoo.genericlist', $options, $name, $attribs, $key, $text, $selected, $idtag, $translate);
на что-нибудь типа
         return $this->_('zoo.genericlist', $options . (IsDropDown? ' size=5' : '')  , $name, $attribs, $key, $text, $selected, $idtag, $translate);

далее правишь код модуля шоб параметр передался :)
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
нафиг ядро то трогать??
сча ребенка из сада заберу - напишу как
R331474010295
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
самый простой способ изменить код самого модуля, тупо превратить ul-li в select-optgroup-options

идем в  /modules/mod_zoocategory/tmpl/list.php

и изменяем код

Код
<div class="zoo-category list">

<?php if ($count) : ?>

<ul class="level1">
<?php foreach ($categories as $category) : ?>
<?php echo $zoo->categorymodule->render($category, $params, 2); ?>
<?php endforeach; ?>
</ul>

<?php else : ?>
<?php echo JText::_('COM_ZOO_NO_CATEGORIES_FOUND'); ?>
<?php endif; ?>

</div>


на


Код
<div class="zoo-category list">
<?php if ($count) : ?>
              <select onchange="self.location=this.options[this.selectedIndex].value" style="width: 170px">
                    <optgroup class="level1" label="">      
<?php foreach ($categories as $category) : ?>
<?php echo $zoo->categorymodule->render($category, $params, 2); ?>
<?php endforeach; ?>
                    </optgroup>
              </select>

<?php else : ?>
<?php echo JText::_('COM_ZOO_NO_CATEGORIES_FOUND'); ?>
<?php endif; ?>
</div>


далее идем в /modules/mod_zoocategory/helper.php


и заменяем код  

Код

$result   = array();
$result[] = '<li>';
$result[] = '<a href="'.$url.'">'.$category->name.'</a>';

if ((!$max_depth || $max_depth >= $level) && ($children = $category->getChildren()) && !empty($children)) {
$result[] = '<ul class="level'.$level.'">';
foreach ($children as $child) {
$result[] = $this->render($child, $params, $level+1);
}
$result[] = '</ul>';
}

$result[] = '</li>';

return implode("\n", $result);



на такой

Код

$result   = array();
$result[] = '<option value="'.$url.'">';
$result[] = $category->name;

if ((!$max_depth || $max_depth >= $level) && ($children = $category->getChildren()) && !empty($children)) {
$result[] = '<optgroup class="level'.$level.'" label="" >';
foreach ($children as $child) {
$result[] = $this->render($child, $params, $level+1);
}
$result[] = '</optgroup>';
}

$result[] = '</option>';

return implode("\n", $result);



впринципе все, при вложенности в 1 уровень 100% валидный HTML на 2 уровне появляются некритичные ошибки - не судите строго все на скорую руку -позже доработаю и выложу отдельным модулем с разными стилями


РЕЗУЛЬТАТ


1 уровень вложенности




2 уровня вложенности

« Последнее редактирование: 26.09.2011, 16:35:04 от likrion »
R331474010295
*

tsg

  • Осваиваюсь на форуме
  • 24
  • 1 / 0
likrion спасибо, все получилось ). Не подскажите такое же решение и для модуля mod_zooitem? Я использую вертикальный вывод (list-v), просмотрел папку mod_zooitem и не нашел там файла helper.php  :(
« Последнее редактирование: 26.09.2011, 22:03:38 от tsg »
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
нарисуй как ты себе это представляешь, мне просто легче когда я вижу что хотят
R331474010295
*

mickle

  • Осваиваюсь на форуме
  • 20
  • 2 / 0
Спасибо за идею!

Хотя с большим списком долго работает, и неудобно. Лучше бы конечно treeview  ;)

*

likrion

  • Давно я тут
  • 750
  • 129 / 2
типо вот так??

R331474010295
*

tsg

  • Осваиваюсь на форуме
  • 24
  • 1 / 0
нарисуй как ты себе это представляешь, мне просто легче когда я вижу что хотят

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

и уже в выбранной категории реализовать вывод материалов (товаров) в модуле mod_zooitem выпадающим списком
 
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
т.е. тебе надо чтобы товары выводились select списком также как и категории?    сфоткай как сейчас
R331474010295
*

tsg

  • Осваиваюсь на форуме
  • 24
  • 1 / 0
да, чтобы выводились select списком также как и категории ). вот скрин как сейчас выводится ( категории уже выпадающим списком, хотелось так выводить и материалы)

*

likrion

  • Давно я тут
  • 750
  • 129 / 2
там несколько сложнее..это понадобится создавать отдельный стиль чтобы получилось хотя бы так  




или я неправильно понял?
R331474010295
*

tsg

  • Осваиваюсь на форуме
  • 24
  • 1 / 0
в принципе так. и вообще почему стала такая задача - просто товаров на одну категорию примерно 80 и если их выводить обычным вертикальным списком, то страничка получается очень длинной. а если выпадающим списком, то все компактно и удобно для пользователя ).
*

mickle

  • Осваиваюсь на форуме
  • 20
  • 2 / 0
типо вот так??



угу, только покомпактнее и выпадалкой.
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
в head своего шаблона добавляй

Код

  <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
  <link rel="stylesheet" href="http://jquery.bassistance.de/treeview/jquery.treeview.css" type="text/css" />
  <script type="text/javascript" src="http://jquery.bassistance.de/treeview/jquery.treeview.js"></script>
  <script type="text/javascript">$(document).ready(function(){$("#example").treeview();});</script>


или скачай к себе и укажи путь до скриптов

jquery.treeview.css  можешь удалить из строк если перенесешь себе CSS  в /modules/mod_zoocategory/tmpl/list/style.css



листинг /modules/mod_zoocategory/helper.php

Код
<?php
/**
* @package   ZOO Category
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*/

/*
Class: CategoryModuleHelper
The category module helper class
*/
class CategoryModuleHelper extends AppHelper {

    public function render($category, $params, $level) {

// init vars
$max_depth = $params->get('depth', 0);

if ($menu_item = $params->get('menu_item')) {
$url = $this->app->link(array('task' => 'category', 'category_id' => $category->id, 'Itemid' => $menu_item));
} else {
$url = JRoute::_($this->app->route->category($category));
}

$result   = array();
$result[] = '<li><span class="file">';
$result[] = '<a href="'.$url.'">'.$category->name.'</a></span>';

if ((!$max_depth || $max_depth >= $level) && ($children = $category->getChildren()) && !empty($children)) {
$result[] = '<ul class="folder">';
foreach ($children as $child) {
$result[] = $this->render($child, $params, $level+1);
}
$result[] = '</ul>';
}

$result[] = '</li>';

return implode("\n", $result);
}

}




листинг  /modules/mod_zoocategory/tmpl/list.php

Код
<?php
/**
* @package   ZOO Category
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

// include css
$zoo->document->addStylesheet('mod_zoocategory:tmpl/list/style.css');

$count = count($categories);

?>

<div class="zoo-category list">

<?php if ($count) : ?>

<ul id="example" class="filetree">
<?php foreach ($categories as $category) : ?>
<?php echo $zoo->categorymodule->render($category, $params, 2); ?>
<?php endforeach; ?>
</ul>

<?php else : ?>
<?php echo JText::_('COM_ZOO_NO_CATEGORIES_FOUND'); ?>
<?php endif; ?>

</div>



РЕЗУЛЬТАТ  Без настройки CSS



100% HTML valid
« Последнее редактирование: 27.09.2011, 23:03:31 от likrion »
R331474010295
*

dolfun

  • Захожу иногда
  • 76
  • 0 / 0
не раскрываются у меня категории ((( по последнему методу. Выпадающим все работает отлично.
Это у меня только не работает? Или....
*

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
а готового решения нет в виде модуля, чтоб выглядело как здесь: http://portall.com.ua/tambour2/
Модуль слева
*

ritm-it45

  • Захожу иногда
  • 63
  • 0 / 0
likrion
не подскажешь как в этом модуле сделать вывод изображения категории
*

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
у меня каталог, модуль mod_zooitem выводит весь товар только одной категории. везде только 1 уровень вложенности.примерно вот так:
выбор категории

и уже в выбранной категории реализовать вывод материалов (товаров) в модуле mod_zooitem выпадающим списком
 

А можно в ЗУ сделать при добавлении материала что-то похожее? Мне надо чтоб добавляющий материал выбирал из списка Область, а потом из следующего списка Город выбранной области?
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
А можно в ЗУ сделать при добавлении материала что-то похожее? Мне надо чтоб добавляющий материал выбирал из списка Область, а потом из следующего списка Город выбранной области?
Связанные списки пока не встречались
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

newvideo

  • Захожу иногда
  • 194
  • 2 / 0
подскажите как вывести все категории со всеми содержащимися в них файлами каталога, желательно в цикле по 1 пункту, так чтобы я смог тэги разметки вставлять.
стандартный модуль категорий выводит категории, а модуль итемов выводит материалы, нужно как-то склеить эти модули. Пока всё что у меня работает это:
Код
foreach ($category->getChildren(true) as $category) :
echo $category -> name.'</br>';
endforeach;

непонятно что за метод getChildren (подскажите какие методы ещё есть и где о них узнать?)
откуда берется переменная $category?
ну и самое важное как в цикл добавить цикл вывода итэмов?
« Последнее редактирование: 29.01.2017, 13:40:24 от newvideo »
*

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
в JBZOO есть такой модуль, готовый
*

newvideo

  • Захожу иногда
  • 194
  • 2 / 0
в JBZOO есть такой модуль, готовый
рискну предположить, что вы отвечали мне, в JBZoo Cat List выводится только выбранная категория без вложений
*

newvideo

  • Захожу иногда
  • 194
  • 2 / 0
в модуле ZooItem выводится так $renderer->render('item.'.$layout, compact('item', 'params'));
При попытке вставить этот вывод в модуль ZooCat выводится Fatal error: Call to a member function render() on a non-object in
Я так понимаю render() не находит. В модуле ZooItem есть описание типа:   $renderer = $zoo->renderer->create('item')->addPath(array($zoo->path->path('component.site:'), dirname(__FILE__)));
Вставляю это объявление в modZooCategory.php но таже ошибка

« Последнее редактирование: 29.01.2017, 16:32:08 от newvideo »
*

newvideo

  • Захожу иногда
  • 194
  • 2 / 0
А в ZooItem при выводе есть такой код
Код
foreach ($items as $item) : 
echo $renderer->render('item.'.$layout, compact('item', 'params'));
$i++; endforeach;

где в цикле используется $item? ^-^
« Последнее редактирование: 29.01.2017, 16:32:17 от newvideo »
*

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
рискну предположить, что вы отвечали мне, в JBZoo Cat List выводится только выбранная категория без вложений
да, именно о нем речь, хотя если покупали лицензию там в маркетплейсе можно еще поискать, а этот модуль выводит категории/подкатегории/материалы, а что именно выводить в шаблоне можно настроить.
*

newvideo

  • Захожу иногда
  • 194
  • 2 / 0
да, именно о нем речь, хотя если покупали лицензию там в маркетплейсе можно еще поискать, а этот модуль выводит категории/подкатегории/материалы, а что именно выводить в шаблоне можно настроить.
в маркет у меня доступа нет, но даже как-то в поиск я попал, ничего не нашел, что нужно...
как подскажите пожалуйста вывести подкатегории?
*

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
да, сорри, подкатегории не выводит...
*

newvideo

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

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
а надо именно чтоб категории/подкатегории/материалы? Просто категории/подкатегории - есть я не кодер но может как-то скрестить их можно?
Вот модуль, слева: http://enjoynaturestyle.com/womans
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

МОДУЛЬ поиска для zoo. Существует?

Автор 7Rei

Ответов: 32
Просмотров: 13485
Последний ответ 07.01.2017, 20:32:50
от newvideo
ZOO как сделать автоматическое добавление Item в Frontpage?

Автор d91me

Ответов: 33
Просмотров: 8239
Последний ответ 29.12.2014, 11:44:46
от dmi_alex
Сделать таблицу-каталог

Автор SoFuWa

Ответов: 12
Просмотров: 3115
Последний ответ 28.06.2014, 23:24:39
от Beer
Модуль категорий + вывод items (материалов)

Автор Efanych

Ответов: 0
Просмотров: 1288
Последний ответ 14.04.2014, 17:13:27
от Efanych
Динамическое создание модуля ZOO Category

Автор DeLight

Ответов: 0
Просмотров: 1086
Последний ответ 03.04.2014, 09:16:50
от DeLight