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

anorov

  • Новичок
  • 3
  • 0 / 0
Предыстория:
Спойлер
[свернуть]
Задача: вытащить в title наименование товара, содержащиеся в самописном элементе с ID типа b456a760-7544-4bb8-ada2-4562cb55acbc
Почитав похожие темы, например http://joomlaforum.ru/index.php/topic,288287.0.html, ничего путного я не нашел. Выпадала та же ошибка, а ответа там я не получил.

Кароче говоря, мой способ выйти из ситуации:

Нужный элемент помещаем в специально созданную позицию.
В переменную засовываем значение этой позиции.
Делаем с ней, что считаем нужным.

Вот такой вот код я засунул в шаблон вывода материала
Код
$mytitle = $this->renderPosition('title');
$doc = JFactory::getDocument();
$doc->setTitle($mytitle);

Вот такой вот идиотский способ.  ::)
Может быть есть способ получить эти данные более приемлемым способом?

Теги: Element ID, Fatal error: Call to a member function getElement() on a non-object in
*

anorov

  • Новичок
  • 3
  • 0 / 0
Снова всплыла эта тема, но первоначальное решение уже не канало.

Задача: на картинках товаров на странице категории генерировать различные alt и title в зависимости от названия товара.

Проблема: на странице категории нельзя выводить позицию какого-то конкретного элемента каталога, а картинки надо подписывать каждую по-своему.

Решение: т.к. так и не смог найти толкового решения по добыванию самописного элемента по ID, написал свой хелпер (как добавлять хелпер написано тут http://jbzoo.ru/docs/basic-api-jbzoo-and-zoo).

Код вызова процедуры:
Код
$elements 	= $this->getItem()->elements;  // получаем значения всех дополнительных самописных элементов в виде строки
$itemName = $this->app->myhelper->getElementByID($elements,'ID_самописного_элемента');

Код процедуры внутри хелпера:
Код
public function getElementByID($elements,$elementID) {

$forDelete = array("\n","\t"); // удаляем переносы и табуляции
$elements = str_replace($forDelete,"",$elements);

preg_match_all('/'.$elementID.'(.*?)value\":.\"(.*?)\"/',$elements,$matches);  // выдергиваем значение элемента

$str = strtoupper($matches[2][0]);

$value = strtr($str, array("\U0430"=>"а", "\U0431"=>"б", "\U0432"=>"в",
"\U0433"=>"г", "\U0434"=>"д", "\U0435"=>"е", "\U0451"=>"ё", "\U0436"=>"ж", "\U0437"=>"з", "\U0438"=>"и",
"\U0439"=>"й", "\U043A"=>"к", "\U043B"=>"л", "\U043C"=>"м", "\U043D"=>"н", "\U043E"=>"о", "\U043F"=>"п",
"\U0440"=>"р", "\U0441"=>"с", "\U0442"=>"т", "\U0443"=>"у", "\U0444"=>"ф", "\U0445"=>"х", "\U0446"=>"ц",
"\U0447"=>"ч", "\U0448"=>"ш", "\U0449"=>"щ", "\U044A"=>"ъ", "\U044B"=>"ы", "\U044C"=>"ь", "\U044D"=>"э",
"\U044E"=>"ю", "\U044F"=>"я", "\U0410"=>"А", "\U0411"=>"Б", "\U0412"=>"В", "\U0413"=>"Г", "\U0414"=>"Д",
"\U0415"=>"Е", "\U0401"=>"Ё", "\U0416"=>"Ж", "\U0417"=>"З", "\U0418"=>"И", "\U0419"=>"Й", "\U041A"=>"К",
"\U041B"=>"Л", "\U041C"=>"М", "\U041D"=>"Н", "\U041E"=>"О", "\U041F"=>"П", "\U0420"=>"Р", "\U0421"=>"С",
"\U0422"=>"Т", "\U0423"=>"У", "\U0424"=>"Ф", "\U0425"=>"Х", "\U0426"=>"Ц", "\U0427"=>"Ч", "\U0428"=>"Ш",
"\U0429"=>"Щ", "\U042A"=>"Ъ", "\U042B"=>"Ы", "\U042C"=>"Ь", "\U042D"=>"Э", "\U042E"=>"Ю", "\U042F"=>"Я")
); // преобразуем все это барахло в русский текст (латиница и знаки приезжают в нормальном виде)

return $value;
    }

Процедура написана для элемента с типом текст. Для остальных типов пишется аналогично. Какие есть поля у элемента можно посмотреть в MySQL zoo_item -> elements.
У меня работает, может и кому-то поможет.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать /item/ из тела ссылки элемента?

Автор Evenfrost

Ответов: 151
Просмотров: 50316
Последний ответ 12.03.2018, 12:05:20
от Apoca1ypto
роутинг zoo и jbzoo прошу помощи и идей

Автор isay777

Ответов: 2
Просмотров: 3609
Последний ответ 18.09.2017, 00:03:10
от isay777
Сервисы доставки в JbZoo

Автор Whitelamb

Ответов: 2
Просмотров: 4559
Последний ответ 15.09.2017, 22:18:55
от isay777
Ссылки в JBZoo

Автор Whitelamb

Ответов: 3
Просмотров: 4511
Последний ответ 15.09.2017, 22:17:11
от isay777
Как настроить отображение страницы элемента product в виде cookbook?

Автор saschka

Ответов: 1
Просмотров: 1815
Последний ответ 12.01.2017, 16:44:50
от shtier