Ссылка на расширение и документацию модуля Extended Menu.http://de.siteof.de/extended-menu-templates.html
Цель занятия научиться писать условия языком xml. Внимание!!! Условия. Но надо въехать в тему. Например нам надо проверить наличие в li Дочерних элементов, или такое выражение, если элемент равен 6 — выводим определенный класс. Или для первого элемента вывести что вам нужно. Очень гибкий инструмент. Но надо въехать как писать условия.
Подробнее
-
Extended Menu для joomla — условие показа ( Урок )
-
Joomla3 — Как в модуле Html убрать обертку moduletable? Легко!
Во первых модуль оборачивается тут (это обертка первого уровня — возможно moduletable)
\templates\system\html\modules.phpзамена будет такой (старый код и новый- отличие: УБРАЛ ОБЕРТКУ)
12345678910111213141516/*if (!empty ($module->content)) : ?>333<<?php echo $moduleTag; ?> class="moduletable<?php echo htmlspecialchars($params->get('moduleclass_sfx')) . $moduleClass; ?>"><?php if ((bool) $module->showtitle) : ?><<?php echo $headerTag . $headerClass . '>' . $module->title; ?></<?php echo $headerTag; ?>><?php endif; ?><?php echo $module->content; ?></<?php echo $moduleTag; ?>><?php endif; */if (!empty ($module->content)) : ?><?php if ((bool) $module->showtitle) : ?><<?php echo $headerTag . $headerClass . '>' . $module->title; ?></<?php echo $headerTag; ?>><?php endif; ?><?php echo $module->content; ?><?php endif;Во вторых нам нужно в шаблон добавить папки:
корень/templates/шаблон/html/mod_customА в папку html добавляем файл index.html. ( во всех модулях joomla такая штука есть)
из папки Корень\modules\mod_custom\tmpl\
вытаскиваем файл default.php и помещаем в шаблон/html/mod_custom
и ищем обертку второго уровня moduletable (она в двух местах встречается)В итоге получается такой код ( корень/templates/шаблон/html/mod_custom)
1234<?phpdefined('_JEXEC') or die;?><?php echo $module->content;?> -
Сортировка virtuemart внутри определенной категории по цене
Путь: administrator/components/com_virtuemart/models/product.php
вставить в функцию sortSearchListQuery
строка 380
вставить после кода12345678// special orders caseswitch ($this->filter_order) {case 'product_special':$where[] = ' p.`product_special`="1" '; // TODO Change to a individual button$orderBy = 'ORDER BY RAND()';break;....................} //конец кода swithХак начало
123456789101112131415161718192021222324252627282930313233343536// print_r($_REQUEST['virtuemart_category_id']);//тут можно встаить хак для принудительной сортировкиif(isset ($_REQUEST['virtuemart_category_id'])){$hac_id=$_REQUEST['virtuemart_category_id'];//id категории , перечисляемswitch ($hac_id) {case 363 :case 364 :case 365 :case 367 ://print_r($_REQUEST['virtuemart_category_id']);$orderBy = ' ORDER BY `product_price` ';$joinPrice = TRUE;//$this->filter_order_Dir='ASC';$this->filter_order_Dir='DESC';break;//Подарки в упаковке из картонаcase 356 :case 357 :case 358 :case 359 ://Подарки в упаковке из переплетного картонаcase 350 ://Подарки в текстильной упаковкеcase 361 ://print_r($_REQUEST['virtuemart_category_id']);$orderBy = ' ORDER BY `product_price` ';$joinPrice = TRUE;$this->filter_order_Dir='ASC';break;default :// Ничего}}//конец хакаЗаменяя $orderBy = ‘ ORDER BY
product_price
‘; мы заменяем и поля ко которым сортируем.
направление сортировки : $this->filter_order_Dir=’DESC’; -
Определение наличия подпунктов в меню joomla
Для того что бы определить наличие подпунктов в меню Joomla, надо воспользоваться кодом, который вставить в верх файла шаблона (templatetes/ваш шаблон/index.php).
Родителя всегда мы можем определить по возвращаемому дереву (команда $active->tree)1234567891011121314151617181920212223242526272829303132defined('_JEXEC') or die;$document = &JFactory::getDocument();$page_title=explode(" | ",$document->title);$config = & JFactory::getConfig();$fulltitle = $document->title.' | '.$config->getValue('sitename');$document->setTitle( $fulltitle );$menu = & JSite::getMenu();$active = $menu->getActive();$menuname = $active->title;$parentId = $active->tree[0];$parentName = $menu->getItem($parentId)->title;echo $parentName;print_r($active->tree);$tree=$active->tree;if($tree[0]==339){echo "это проверка на родителя (или сам элемент) ";}else{$db = JFactory::getDBO();$db->setQuery("select * from #__menu where parent_id = ".$parentId );$Children = $db->loadAssoc();print_r($Children);if(!empty($Children)){echo 'Есть подпункты!!! ';}else{echo 'Нет подпунктов!!! ';}}
Цены
1500 р/чБолее подробно тут: https://ftask.ru/цены