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

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
Друзья! Нужна помощь... Возможно тема обсуждалась, но я не нашел. Суть вопроса такова, я написал небольшой модуль для админки Joomla 3 серии, он просто выводит иконки со ссылками на некоторые страницы. Я хочу, чтобы после инсталляции этого модуля, он АВТОМАТИЧЕСКИ был опубликован в позиции cpanel админки.

Ковырял инсталляторы, которые это умеют делать, но по аналогии запустить не получилось  >:(

Помогите разобраться  !

вот от чего я отталкиваюсь:

Код
   <subinstall>    
<extension type="module" folder="system" dir="modules/admin/mod_poweradmin" name="mod_poweradmin" client="admin" publish="1" position="icon" title="JSN PowerAdmin Quick Icons" ordering="0" lock="0" />
    </subinstall>

Это прописано в XML инсталлятора.
Как видно, тут и модуль автоматически включаются после установки
« Последнее редактирование: 21.07.2014, 22:08:12 от b2z »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
А через установочный скрипт разве нельзя модуль опубликовать?
интернет-блог: http://websiteprog.ru
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
А через установочный скрипт разве нельзя модуль опубликовать?
Может быть и можно, но как? Можете подсказать?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
ну в XML файле прописываете
Код: xml
	<scriptfile>install_script.php</scriptfile>

Ну а там примерно такое содержимое:
Код: php
...
class YourComponentNameInstallerScript
{
     ...
    //Метод, который исполняется после install/update/uninstall.
    public function postflight($type, $parent)
    {
       ...// здесь запрос в бд на публикацию модуля
    }
    ...
}
интернет-блог: http://websiteprog.ru
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
Сделал вот так, но после установки белый экран... Что делаю не так?
И не пойму как еще задать позицию для модуля?

Код
<?php
defined('_JEXEC') or die('Restricted access');

class Mod_CobalticonsInstallerScript
{
public function postflight($type, $parent)
{
parent::postflight($type, $parent);
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->update('#__modules');
$query->set('published = 1');
$query->where("module = 'mod_cobalticons'");
$db->setQuery($query);
$db->execute();
}
}
Скопировал и переделал этот кусок кода с другого инсталлятора
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
Убрал parent::postflight($type, $parent); все заработало!
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
ага позиция там же прописывается по идее:
$query->set('position = yourposition');
интернет-блог: http://websiteprog.ru
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
И вот вроде бы все отлично, ан нет...

В принципе скрипт отрабатывает на ура, модуль публикуется в нужную позицию, но не появляется... Вот что отображается в менеджере модулей админки после установки:



Захожу в модуль, никаких настроек привязки к пунктам меню нету, т.к. это модуль админки. Но после сохранения значение меняется на "все" и модуль отображается

В базе данных ничего при этом не изменилось... Куда копать? Где может быть это значение?
« Последнее редактирование: 21.07.2014, 20:24:21 от asmuz »
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Как я понимаю, необходимо сделать вставку в таблицу _modules_menu, при этому menuid должно быть 0.
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
Как я понимаю, необходимо сделать вставку в таблицу _modules_menu, при этому menuid должно быть 0.
Да, это так... Но как это сделать, ведь модуль создается с порядковым ID, а как его узнать при установке?
Может подскажете как модифицировать этот код?

Код
<?php
defined('_JEXEC') or die('Restricted access');

class Mod_CobalticonsInstallerScript
{
public function postflight($type, $parent)
{
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->update('#__modules');
$query->set('published = 1');
                $query->set('position = "cpanel"');
$query->where("module = 'mod_cobalticons'");
$db->setQuery($query);
$db->execute();
}
}
« Последнее редактирование: 21.07.2014, 20:55:03 от asmuz »
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Сделайте SELECT и найдите id ;)

Код: php
$query->select('id')
    ->from('#__modules')
    ->where('module = ' . $db->quote('mod_cobalticons'));

$moduleId = $db->setQuery($query)
    ->loadResult();
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
все правильно только туда надо инсерт похоже сделать  в _modules_menu всмысле. Кстатии полезная фишка, выложи потом код чтобы копипастить)
« Последнее редактирование: 21.07.2014, 21:11:11 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
Дмитрий, понимаю что выгляжу полным нубом (так оно и есть), но не могли бы Вы привести полностью готовый код... Я конечно очень-очень старался, но у меня ничего не получилось. В принципе я понимаю как это работает, но вот синтаксис... Я только начинаю путь PHP девелопера, так что у меня все впереди...
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Добавьте к тому, что у Вас есть.

Код: php
$query->clear();

$query->select('id')
    ->from($db->quoteName('#__modules'))
    ->where('module = ' . $db->quote('mod_cobalticons'));
 
$moduleId = $db->setQuery($query)
    ->loadResult();

$query->clear();

$query->insert($db->quoteName('#__modules_menu'))
    ->columns('moduleid', 'menuid')
    ->values($moduleId, 0);
 
$db->setQuery($query)
    ->execute();
*

asmuz

  • Захожу иногда
  • 60
  • 5 / 0
  • www.AsmuZ.ru
Дмитрий спасибо ОГРОМНОЕ!  :D :D :D
Все заработало!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вставка кода вызова модуля в тело шаблона другого модуля

Автор Dorfman

Ответов: 15
Просмотров: 2576
Последний ответ 19.11.2018, 21:45:54
от beliyadm
Проблема с модулем после переноса с локалки на хостинг

Автор master-smeta

Ответов: 8
Просмотров: 2817
Последний ответ 15.11.2018, 16:34:46
от master-smeta
Нужна помощь в доработке модуля под Joomla 3

Автор kik84

Ответов: 5
Просмотров: 2751
Последний ответ 30.01.2018, 22:40:30
от Елeна
Меню схлопывается после перезагрузки страницы

Автор onelawyer

Ответов: 10
Просмотров: 1745
Последний ответ 11.10.2017, 14:50:48
от effrit
Модификация модуля lastet_news вывод времени перед заголовком

Автор Morphiss

Ответов: 9
Просмотров: 2496
Последний ответ 19.04.2016, 12:41:55
от spsyper