Новости 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 Гость просматривают эту тему.
  • 19 Ответов
  • 4452 Просмотров
*

Sergey2

  • Давно я тут
  • 651
  • 15 / 1
Фильтр по атрибутам
« : 01.04.2012, 21:10:22 »
Есть набор атрибутов. Ну например цвет. У каждого товара есть определенные цвета. У кого-то белый и черный, у кого то белый и серый и т.д.
Можно ил сделать фильтр по этим атрибутам, т.е. пользователь выбирает черный цвет и ему все товары показываются где есть черный?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Фильтр по атрибутам
« Ответ #1 : 02.04.2012, 02:16:31 »
В рамках категории есть. Вот здесь http://nevigen.com/razrabotki/item/32-joomshopping-kompleksnyiy-ajax-filtr.html
Или на сайте разработчиков
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Sergey2

  • Давно я тут
  • 651
  • 15 / 1
Re: Фильтр по атрибутам
« Ответ #2 : 03.05.2012, 22:10:26 »
Вообщем взял за основу фильтр по характеристикам и добавил туда атрибуты.

Файл /www/modules/mod_jshopping_filters/tmpl/default.tpl
Это шаблон модуля, так что добавляем куда хотим
Код
<div class="filter_att">

        <?php foreach($att_fields as $ch){?>   
                <div class="att_name"><?php print $ch->name;?></div>
                <input type="hidden" name="att_fields[<?php print $ch->attr_id?>][]" value="0" />           
                <?php foreach($att_fieldvalues as $val){?>
<?php if($val->attr_id==$ch->attr_id) {?>

                    <input type="checkbox" name="att_fields[<?php print $ch->attr_id?>][]" value="<?php print $val->value_id;?>" <?php if (is_array($att_fields_active[$ch->attr_id]) && in_array($val->value_id, $att_fields_active[$ch->attr_id])) print "checked";?> onclick="document.jshop_filters.submit();" /><?php print $val->name;?><br/>

<?php }?>
                <?php }?>
            <br/>
        <?php }?>
</div>

Затем поднимаемся на уровень выше и в файле mod_jshopping_filters.php добавляем

Код
$att_fields = &JSFactory::getAllProductAttField();
$att_fieldvalues = &JSFactory::getAllProductAttFieldValueDetail();
$att_fields_active = $mainframe->getUserStateFromRequest($contextfilter.'att_fields', 'att_fields', array());
$att_fields_active = filterAllowValue($att_fields_active, "array_int_k_v+");       
впринципе неважно куда, но "красивей" перед строчкой     
Код
require(JModuleHelper::getLayoutPath('mod_jshopping_filters'));        

вот. Модуль у нас готов, но сайт при этом сдох.

Далее я буду приводить куски исходных файлов что бы было понятно что и куда вставлять.
Перемещаемся в папку /www/components/com_jshopping/lib

functions.php
Код
    if (count($filters['extra_fields'])>0) $res = 1;
// my
    if (count($filters['att_fields'])>0) $res = 1;
// my end
return $res;
Код
        $extra_fields = filterAllowValue($extra_fields, "array_int_k_v+");
    }

// my
    $att_fields_filter = $mainframe->getUserStateFromRequest( $contextfilter.'att_fields', 'att_fields', array());
    $att_fields_filter = filterAllowValue($att_fields_filter, "array_int_k_v+");
// my end

    $fprice_from = $mainframe->getUserStateFromRequest( $contextfilter.'fprice_from', 'fprice_from');
Код
    if ($jshopConfig->admin_show_product_extra_field){
        $filters['extra_fields'] = $extra_fields;       
    }
// my
    $filters['att_fields'] = $att_fields_filter;       
// my end

    if ($category_id && !$filters['categorys']){

factory.php
Код
    function &getAllProductExtraField(){
    static $list;
        if (!is_array($list)){
            $productfield =& JTable::getInstance('productfield', 'jshop');
            $list = $productfield->getList();
        }
    return $list;
    }

// my
    function &getAllProductAttField(){
    static $list;
        if (!is_array($list)){
            $productattfield =& JTable::getInstance('productattfield', 'jshop');
            $list = $productattfield->getList();
        }
    return $list;
    }
    function &getAllProductAttFieldValueDetail(){
    static $list;
        if (!is_array($list)){
            $productattfieldvalue =& JTable::getInstance('productattfieldvalue', 'jshop');
            $list = $productattfieldvalue->getAllList();
        }
    return $list;
    }
// my end
   
    function &getAllProductExtraFieldValue(){

jtableauto.php
Код
                    $adv_query .= " AND prod.`extra_field_".$f_id."`='".$db->getEscaped($vals)."'";
                }
            }
        }
// my
        if (is_array($filters['att_fields'])){
            foreach($filters['att_fields'] as $f_id=>$vals){
                if (is_array($vals) && count($vals)){
$adv_query .= "AND prod.product_id IN (SELECT product_id FROM `#__jshopping_products_attr2` AS attr WHERE attr.attr_value_id in (".implode(",",$vals).") ) ";
                }elseif(is_string($vals) && $vals!=""){
$adv_query .= "AND prod.product_id IN (SELECT product_id FROM `#__jshopping_products_attr2` AS attr WHERE attr.attr_value_id='".$db->getEscaped($vals)."' ) ";
                }
            }
        }
// my end

       
        $this->getBuildQueryListProductFilterPrice($filters, $adv_query, $adv_from);

Осталось в папку /www/components/com_jshopping/tables положить два файлика, которые я приатачил и все.
Впринципе даный вариант вываодит все атрибуты которые есть, но там заложена возможность вывод только определенного атрибута.

[вложение удалено Администратором]
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
Re: Фильтр по атрибутам
« Ответ #3 : 19.05.2012, 14:26:52 »
Атрибуты-то он выводит, только вот не фильтрует ничего, просто показывает пустую страницу(без результатов), к тому же выводит все вообще атрибуты из всех категорий, а не из текущей.
(J2.5.4 JS 3.6.1)

Так что модуль от nevigen (судя по демо) пока вне конкуренции.
Здесь всё есть... просто нужно поискать немного... ;)
*

Sergey2

  • Давно я тут
  • 651
  • 15 / 1
Re: Фильтр по атрибутам
« Ответ #4 : 21.05.2012, 23:16:01 »
Атрибуты-то он выводит, только вот не фильтрует ничего, просто показывает пустую страницу(без результатов), к тому же выводит все вообще атрибуты из всех категорий, а не из текущей.
(J2.5.4 JS 3.6.1)
последние три изменения правильно сделали? Отмеченные атрибуты остаются отмеченными на отфильтрованной странице? Файлы приатаченые положены на место?
Атрибуты вообще то общие и к категориям не привязаны.... это характеристики привязаны...
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Фильтр по атрибутам
« Ответ #5 : 21.05.2012, 23:47:05 »
Атрибуты начиная с версии 3.6.0 не только общие но и могут привязываться в категориям ;)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Sergey2

  • Давно я тут
  • 651
  • 15 / 1
Re: Фильтр по атрибутам
« Ответ #6 : 22.05.2012, 23:01:09 »
Атрибуты начиная с версии 3.6.0 не только общие но и могут привязываться в категориям ;)
понятно. У меня Version 3.5.1
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Фильтр по атрибутам
« Ответ #7 : 22.05.2012, 23:57:02 »
пора апдейтить ;)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Sergey2

  • Давно я тут
  • 651
  • 15 / 1
Re: Фильтр по атрибутам
« Ответ #8 : 23.05.2012, 19:45:45 »
пора апдейтить ;)

неее, там столько переделок что пусть лучше будет та что есть :)
*

SwanE

  • Осваиваюсь на форуме
  • 42
  • 1 / 0
Re: Фильтр по атрибутам
« Ответ #9 : 08.06.2012, 14:28:58 »
Народ, есть ли какое то решения данной проблемы для версии 3.3.2
Апдейтить не хочу...
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Фильтр по атрибутам
« Ответ #10 : 08.06.2012, 21:59:10 »
нету. вернее мне не известны.
может от разрабов.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Re: Фильтр по атрибутам
« Ответ #11 : 23.06.2012, 18:30:48 »
вместе с этим модулем идёт плагин?
*

Sergey2

  • Давно я тут
  • 651
  • 15 / 1
Re: Фильтр по атрибутам
« Ответ #12 : 24.06.2012, 23:23:01 »
вместе с этим модулем идёт плагин?
нет
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Фильтр по атрибутам
« Ответ #14 : 25.06.2012, 00:34:34 »
он идет в формате аддона, там сборник и модуль и плагин и много его еще...
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Re: Фильтр по атрибутам
« Ответ #15 : 26.06.2012, 10:44:27 »
Цитировать
http://demo.nevigen.com/music-video.html
а где здесь постраничная навигация по товарам?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Фильтр по атрибутам
« Ответ #16 : 26.06.2012, 11:11:02 »
не понял вопроса.
причем тут постраничная навигация к модулю фильтра ?
абсолютно не связанные вещи, это раз.
второе - ее нет потому, что товаров меньше чем указано для отображения на странице.

PS. Сделал 6 товаров на странице, чтобы вопросов не возникало.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Re: Фильтр по атрибутам
« Ответ #17 : 26.06.2012, 11:35:46 »
я выбрал в фильтре Серия (хар.) 1234567
появилось что найдено товаров 11
нажал "показать"

отображается 5 товаров, как увидеть остальные?
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Re: Фильтр по атрибутам
« Ответ #18 : 26.06.2012, 11:44:35 »
причем тут постраничная навигация к модулю фильтра ?
сохранятся ли параметры при переходе на следующие страницы?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Фильтр по атрибутам
« Ответ #19 : 26.06.2012, 12:21:17 »
Не разбирались, да на демо есть проблема. Но это сокрее вопрос шаблона.
Вот пример, где работает и правильно отрабатывается пагинация.

но вопрос будем прорабатывать, возможно часть проблемы лежит в новшествах ЖШ в частности возможности показать всё.
лимиты не отрабатываются корректно.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод изображения товара по атрибутам

Автор rifys

Ответов: 60
Просмотров: 14577
Последний ответ 17.06.2020, 10:39:44
от draff
Скрывать (или делать неактивными) характеристики в модуле Фильтр

Автор 3axap-superstar

Ответов: 3
Просмотров: 885
Последний ответ 26.06.2019, 16:01:34
от 3axap-superstar
Многоступенчатый фильтр по характеристикам

Автор shop-user

Ответов: 1
Просмотров: 947
Последний ответ 23.04.2018, 20:54:03
от nevigen
Предусмотрен ли поиск по атрибутам?

Автор kopo6o4er

Ответов: 42
Просмотров: 16851
Последний ответ 07.02.2018, 22:42:15
от dmitry_stas
Фильтр по одному атрибуту. Код

Автор Ramil8009

Ответов: 5
Просмотров: 1441
Последний ответ 14.11.2014, 14:43:57
от sergeosn