Новости Joomla

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором представлены новости, интервью, рецензии и есть небольшой магазин на JoomShopping. Возникла необходимость внутри Joomla статей вставлять упоминание релиза и кнопочку «добавить в корзину». Я взял плагин WT JShopping products anywhere Сергея Толкачева (@webtolkru). Плагин отображает название товара и ссылку. При помощи напильника, ИИ и навыков вёрстки появился

Uikit макет для шаблонов на базе Yootheme Pro.Учитываается мобильная версия - телефоны и ipad.Кнопка добавления в корзину работает по Ajax и появляется всплывающее окно (Notification Bar от Uikit) с информацией.Пока это базовый вариант, требующий доведения до лоска, однако он уже работает и его можно применять на проектах.Взять макет можно здесь.А плагин вставки товаров в материалы можно забрать здесь.Приветствуется доведение до ума и оформление в виде PR.

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

👩‍💻 WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla.Пакет плагинов галереи изображений и видео для вставки в материалы и модули Joomla, а так же везде, где работают плагины группы

content. Поддержка собственных макетов вывода для галерей. Смешанные фото+видео галереи. Плагин создан как замена Simple Image Gallery и поддерживает синтаксис
{gallery}{/gallery}.👩‍💻 v.1.2.3. Что нового?- Обработка вступительного и полного текста для материалов Joomla. Добавлена обработка шорткодов в полном и вступительном текстах материалов Joomla.- Системные требования. Повышены минимальные требования до Joomla 5 и PHP 8.1.- Мелкие правки. Исправлена ошибка работы макета по умолчанию в плагине контента.- Joomla 6. Пакет плагинов успешно протестирован на Joomla 6.
Страница расширения.GitHub расширенияJoomla Extensions Directory@joomlafeed#joomla #расширения

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте
default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса
Registry (
писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в
Form ещё нет данных и параметры по умолчанию выставляются из атрибутов
default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в
params плагина.Для поля списков
type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут
multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте
default нужно указать json с нужными параметрами в виде
{int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку
json_decode не понимает одинарные кавычки собственно
json нужно писать с двойными, а значение для атрибута
default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

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

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Вобщем, выводиться так
Код
<div id="vtemk2category" class="style01 vtemAccordion">
<ul class="vtemlevel0vtaccmenu01 vtem_k2_menu vt_k2accordion">
<li>
<li>

а надо так

Код
<div id="vtemk2category" class="style01 vtemAccordion">
<ul class="menu">
<li>
<li>

Как сменить сей класс чтобы выводило меню под мою css-ску перековырял весь модуль ниче ненашол(
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: mod vtem accordion menu поиск ul класса
« Ответ #1 : 10.08.2012, 08:02:46 »
В папке модуль/tmpl или themes, везде по разному, смотрите файл вывода шаблона. Тут подробности.
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Re: mod vtem accordion menu поиск ul класса
« Ответ #2 : 10.08.2012, 09:50:34 »
очень множко разные вещи, я в курсе как дублировать шаблон, замена класса от этого не происходит, и хлебные крошки мне не нужны
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: mod vtem accordion menu поиск ul класса
« Ответ #3 : 10.08.2012, 09:54:38 »
Так в чем проблема то? Как задали вопрос, такой ответ и получили.
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Re: mod vtem accordion menu поиск ul класса
« Ответ #4 : 10.08.2012, 10:24:00 »
mod vtem accordion menu в названии темы, сменить класс надо vtem_k2_menu
default.php
Код
<?php
/**
* Module Accordion Menu For Joomla 1.5.x or 1.6.x
* WEB URL http://www.vtem.net
* License GPLv2.0 - http://www.gnu.org/licenses/gpl-2.0.html
*/

// No direct access.
defined('_JEXEC') or die;
$mouseoverdelay = $params->get('mouseoverdelay', 200);
$animatespeed = $params->get('animatespeed', 500);
$defaultid = $params->get('defaultid', 0);
$mouse_event = $params->get('mouse_event','click');
$script = $params->get('script',1);
$style = $params->get('style', 0);
$vtemstyle = $params->get('vtemstyle',1);
if($style == 1) $vtemstyle = "";
$width = $params->get('width','220px');
$collapseprev = $params->get('collapseprev',1)? 'true' : 'false';
$onemustopen = $params->get('onemustopen', 1)? 'true' : 'false';
$persiststate = $params->get('persiststate', 0)? 'true' : 'false';

$background = $params->get('background','#555');
$textcolor = $params->get('textcolor','#ccc');
$sub_background = $params->get('sub_background','#777');
$sub_textcolor = $params->get('sub_textcolor','#ccc');
$hovertextcolor = $params->get('hovertextcolor','#f90');
$css = $params->get('css');

$doc = &JFactory::getDocument();
$doc->addStyleSheet(JURI::root().'modules/mod_vtem_accordion_menu/style.css');

if ($script == 1){
echo "<script src='".JURI::root()."modules/mod_vtem_accordion_menu/js/jquery-1.4.2.min.js' type='text/javascript'></script>";
}
?>
<script type="text/javascript" src="<?php echo JURI::root();?>modules/mod_vtem_accordion_menu/js/menu.js"></script>
<script type="text/javascript">
ddaccordion.init({ //top level headers initialization
headerclass: "vtemparent1<?php echo $params->get('slideID');?>",
contentclass: "vtemlevel1<?php echo $params->get('slideID');?>",
revealtype: "<?php echo $mouse_event;?>",
mouseoverdelay: <?php echo $mouseoverdelay;?>, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
collapseprev: <?php echo $collapseprev;?>, //Collapse previous content (so only one open at any time)? true/false
defaultexpanded: [<?php echo $defaultid;?>], //index of content(s) open by default [index1, index2, etc]. [] denotes no content.
onemustopen: <?php echo $onemustopen;?>, //Specify whether at least one header should be open always (so never all headers closed)
animatedefault: false, //Should contents open by default be animated into view?
persiststate: <?php echo $persiststate;?>, //persist state of opened contents within browser session?
toggleclass: ["unselectedmenu", "selectedmenu"],
togglehtml: ["none", "", ""],
animatespeed: <?php echo $animatespeed;?>, //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
oninit:function(expandedindices){},
onopenclose:function(header, index, state, isuseractivated){}
})

ddaccordion.init({ //2nd level headers initialization
headerclass: "vtemparent2<?php echo $params->get('slideID');?>",
contentclass: "vtemlevel2<?php echo $params->get('slideID');?>",
revealtype: "<?php echo $mouse_event;?>",
mouseoverdelay: <?php echo $mouseoverdelay;?>, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
collapseprev: <?php echo $collapseprev;?>, //Collapse previous content (so only one open at any time)? true/false
defaultexpanded: [], //index of content(s) open by default [index1, index2, etc]. [] denotes no content.
onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
animatedefault: false, //Should contents open by default be animated into view?
persiststate: <?php echo $persiststate;?>, //persist state of opened contents within browser session?
toggleclass: ["", "selected_submenu"],
togglehtml: ["none", "", ""],
animatespeed: <?php echo $animatespeed;?>, //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
oninit:function(expandedindices){},
onopenclose:function(header, index, state, isuseractivated){}
})
ddaccordion.init({ //3nd level headers initialization
headerclass: "vtemparent3<?php echo $params->get('slideID');?>",
contentclass: "vtemlevel3<?php echo $params->get('slideID');?>",
revealtype: "<?php echo $mouse_event;?>",
mouseoverdelay: <?php echo $mouseoverdelay;?>, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
collapseprev: <?php echo $collapseprev;?>, //Collapse previous content (so only one open at any time)? true/false
defaultexpanded: [], //index of content(s) open by default [index1, index2, etc]. [] denotes no content.
onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
animatedefault: false, //Should contents open by default be animated into view?
persiststate: <?php echo $persiststate;?>, //persist state of opened contents within browser session?
toggleclass: ["", "selected_submenu1"],
togglehtml: ["none", "", ""],
animatespeed: <?php echo $animatespeed;?>, //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
oninit:function(expandedindices){},
onopenclose:function(header, index, state, isuseractivated){}
})

</script>
<style type="text/css">
div#vtemk2category ul.vtem_k2_menu, div#vtemk2category ul.vtem_k2_menu ul{
width:<?php echo $width;?>;
}
div.style1 ul.vtem_k2_menu li a:link,div.style1 ul.vtem_k2_menu li a:visited{
background-color:<?php echo $background;?> !important;
color:<?php echo $textcolor;?>;
}
div.style1 ul.vtem_k2_menu li ul li a:link,div.style1 ul.vtem_k2_menu li ul li a:visited{
background-color:<?php echo $sub_background;?> !important;
color:<?php echo $sub_textcolor;?>;
padding-left:10px;
}
div.style1 ul li a:hover,div.style1 ul li a.active{
color:<?php echo $hovertextcolor;?> !important;
}
<?php echo $css;?>
</style>
<div id="vtemk2category" class="<?php echo 'style'.$style.$vtemstyle;?> vtemAccordion">
<ul class="vtem_k2_menu vt_k2accordion vt_menu<?php echo $class_sfx;?>"<?php
$tag = '';
if ($params->get('tag_id')!=NULL) {
$tag = $params->get('tag_id').'';
echo ' id="'.$tag.'"';
}
?>>
<?php
foreach ($list as $i => &$item) :
$class = '';
if ($item->id == $active_id) {
$class .= 'current ';
}

if (in_array($item->id, $path)) {
$class .= 'active ';
}

if ($item->deeper) {
$class .= 'vtemparent'.$item->level.$params->get('slideID').' ';
}

if (!empty($class)) {
$class = ' class="'.trim($class).'"';
}

echo '<li id="item-'.$item->id.'">';

// Render the menu item.
switch ($item->type) :
case 'separator':
case 'url':
case 'component':
require JModuleHelper::getLayoutPath('mod_vtem_accordion_menu', 'default_'.$item->type);
break;

default:
require JModuleHelper::getLayoutPath('mod_vtem_accordion_menu', 'default_url');
break;
endswitch;

// The next item is deeper.
if ($item->deeper) {
echo '<ul class="vtemlevel'.$item->level.$params->get('slideID').'">';
}
// The next item is shallower.
else if ($item->shallower) {
echo '</li>';
echo str_repeat('</ul></li>', $item->level_diff);
}
// The next item is on the same level.
else {
echo '</li>';
}
endforeach;
?></ul>
<div style="clear:both"></div>
</div>

categories.php

Код
<?php
/**
 * @version $Id: categories.php 1034 2011-10-04 17:00:00Z joomlaworks $
 * @package K2
 * @author JoomlaWorks http://www.joomlaworks.gr
 * @copyright Copyright (c) 2006 - 2011 JoomlaWorks Ltd. All rights reserved.
 * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die('Restricted access');
$mouseoverdelay = $params->get('mouseoverdelay', 200);
$animatespeed = $params->get('animatespeed', 500);
$defaultid = $params->get('defaultid', 0);
$mouse_event = $params->get('mouse_event','click');
$script = $params->get('script',1);
$style = $params->get('style', 0);
$vtemstyle = $params->get('vtemstyle',1);
if($style == 1) $vtemstyle = "";
$width = $params->get('width','220px');
$collapseprev = $params->get('collapseprev',1)? $collapseprev = 'true' : $collapseprev = 'false';
$onemustopen = $params->get('onemustopen', 1)? 'true' : 'false';
$persiststate = $params->get('persiststate', 0)? 'true' : 'false';

$background = $params->get('background','#555');
$textcolor = $params->get('textcolor','#ccc');
$sub_background = $params->get('sub_background','#777');
$sub_textcolor = $params->get('sub_textcolor','#ccc');
$hovertextcolor = $params->get('hovertextcolor','#f90');
$css = $params->get('css');

$doc = &JFactory::getDocument();
$doc->addStyleSheet(JURI::root().'modules/mod_vtem_accordion_menu/style.css');

if ($script == 1){
echo "<script src='".JURI::root()."modules/mod_vtem_accordion_menu/js/jquery-1.4.2.min.js' type='text/javascript'></script>";
}
?>
<script type="text/javascript" src="<?php echo JURI::root();?>modules/mod_vtem_accordion_menu/js/menu.js"></script>
<script type="text/javascript">
ddaccordion.init({ //top level headers initialization
headerclass: "vtemset0<?php echo $params->get('slideID');?>",
contentclass: "vtemlevel1<?php echo $params->get('slideID');?>",
revealtype: "<?php echo $mouse_event;?>",
mouseoverdelay: <?php echo $mouseoverdelay;?>, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
collapseprev: <?php echo $collapseprev;?>, //Collapse previous content (so only one open at any time)? true/false
defaultexpanded: [<?php echo $defaultid;?>], //index of content(s) open by default [index1, index2, etc]. [] denotes no content.
onemustopen: <?php echo $onemustopen;?>, //Specify whether at least one header should be open always (so never all headers closed)
animatedefault: false, //Should contents open by default be animated into view?
persiststate: <?php echo $persiststate;?>, //persist state of opened contents within browser session?
toggleclass: ["unselectedmenu", "selectedmenu"],
togglehtml: ["none", "", ""],
animatespeed: <?php echo $animatespeed;?>, //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
oninit:function(expandedindices){},
onopenclose:function(header, index, state, isuseractivated){}
})

ddaccordion.init({ //2nd level headers initialization
headerclass: "vtemset1<?php echo $params->get('slideID');?>",
contentclass: "vtemlevel2<?php echo $params->get('slideID');?>",
revealtype: "<?php echo $mouse_event;?>",
mouseoverdelay: <?php echo $mouseoverdelay;?>, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
collapseprev: <?php echo $collapseprev;?>, //Collapse previous content (so only one open at any time)? true/false
defaultexpanded: [], //index of content(s) open by default [index1, index2, etc]. [] denotes no content.
onemustopen: <?php echo $onemustopen;?>, //Specify whether at least one header should be open always (so never all headers closed)
animatedefault: false, //Should contents open by default be animated into view?
persiststate: <?php echo $persiststate;?>, //persist state of opened contents within browser session?
toggleclass: ["unselected_submenu", "selected_submenu"],
togglehtml: ["none", "", ""],
animatespeed: <?php echo $animatespeed;?>, //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
oninit:function(expandedindices){},
onopenclose:function(header, index, state, isuseractivated){}
})
ddaccordion.init({ //3nd level headers initialization
headerclass: "vtemset2<?php echo $params->get('slideID');?>",
contentclass: "vtemlevel3<?php echo $params->get('slideID');?>",
revealtype: "<?php echo $mouse_event;?>",
mouseoverdelay: <?php echo $mouseoverdelay;?>, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
collapseprev: <?php echo $collapseprev;?>, //Collapse previous content (so only one open at any time)? true/false
defaultexpanded: [], //index of content(s) open by default [index1, index2, etc]. [] denotes no content.
onemustopen: <?php echo $onemustopen;?>, //Specify whether at least one header should be open always (so never all headers closed)
animatedefault: false, //Should contents open by default be animated into view?
persiststate: <?php echo $persiststate;?>, //persist state of opened contents within browser session?
toggleclass: ["unselected_submenu", "selected_submenu"],
togglehtml: ["none", "", ""],
animatespeed: <?php echo $animatespeed;?>, //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
oninit:function(expandedindices){},
onopenclose:function(header, index, state, isuseractivated){}
})
</script>
<style type="text/css">
div#vtemk2category ul.vtem_k2_menu, div#vtemk2category ul.vtem_k2_menu ul{
width:<?php echo $width;?>;
}
div.style1 ul.vtem_k2_menu li a:link,div.style1 ul.vtem_k2_menu li a:visited{
background-color:<?php echo $background;?>;
color:<?php echo $textcolor;?>;
}
div.style1 ul.vtem_k2_menu li ul li a:link,div.style1 ul.vtem_k2_menu li ul li a:visited{
background-color:<?php echo $sub_background;?>;
color:<?php echo $sub_textcolor;?>;
padding-left:10px;
}
div.style1 ul li a:hover,div.style1 ul li a.activeCategory{
color:<?php echo $hovertextcolor;?> !important;
}
<?php echo $css;?>
</style>
<div id="vtemk2category" class="<?php echo 'style'.$style.$vtemstyle;?> vtemAccordion<?php echo $params->get('moduleclass_sfx'); ?>">
<?php echo $output; ?>
</div>

Где тут вставить свой класс чтоб он присвоился менюшке, менял все что там  по очереди не проконало?
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Re: mod vtem accordion menu поиск ul класса
« Ответ #5 : 10.08.2012, 11:06:21 »
все ненадо прописал CSS в самом модуле
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: mod vtem accordion menu поиск ul класса
« Ответ #6 : 10.08.2012, 11:07:32 »
Код
<div id="vtemk2category" class="<?php echo 'style'.$style.$vtemstyle;?> vtemAccordion">
<ul class="vtem_k2_menu vt_k2accordion vt_menu<?php echo $class_sfx;?>"<?php
$tag = '';
if ($params->get('tag_id')!=NULL) {
$tag = $params->get('tag_id').'';
echo ' id="'.$tag.'"';
}
?>>
*

popodar

  • Новичок
  • 8
  • 0 / 0
Re: mod vtem accordion menu поиск ul класса
« Ответ #7 : 12.08.2012, 03:02:25 »
Прошу не казнить за оффтоп crazy!, нет возможности написать личное сообщение. Обещаю сразу же удалить данный пост по его прочтении
terr, al-teen, очень нужна ваша помощь!
Вот в этом топике: http://joomlaforum.ru/index.php/topic,89544.msg1178271.html#msg1178271
« Последнее редактирование: 12.08.2012, 03:07:26 от popodar »
*

AntonSea

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: mod vtem accordion menu поиск ul класса
« Ответ #8 : 19.09.2012, 08:11:31 »
Я поставил аккордеон, как дополнительтное меню для удобства навигации, но получилось так что один материал имеет 2 дубля с разными урл: из основного меню и аккордеон. Подскажите пожалуйста, как убрать дубли у аккордеона, или сделать с него редирект на основной материал, или сделать чтобы был такой же адрес из меню аккордеона?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

DJ Mega Menu разобраться с настройкой подменю

Автор Pene4ek

Ответов: 0
Просмотров: 3396
Последний ответ 14.07.2019, 18:28:45
от Pene4ek
Как в ARI Ext Menu добиться работы параметра "Показать в меню"?

Автор vasmed

Ответов: 1
Просмотров: 4012
Последний ответ 01.03.2019, 11:12:18
от vasmed
Nextend Accordion Menu можно ли сделать открытым только первый пункт меню?

Автор tmpnikl

Ответов: 0
Просмотров: 3918
Последний ответ 26.05.2017, 09:59:09
от tmpnikl
Accordion Menu - Offlajn.com . Переход по клику меню, настройка

Автор ShadowXX

Ответов: 2
Просмотров: 6635
Последний ответ 31.05.2015, 23:15:53
от yaroslav-soyuz
ari ext menu ширина выпадающего меню

Автор mitay2

Ответов: 1
Просмотров: 3514
Последний ответ 13.09.2014, 14:45:19
от falconpvt