Новости 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 Ответов
  • 15223 Просмотров

Здравствуйте, товарищи!
На форуме, по-моему, еще нигде не описывался способ копирования категорий (если не так, то укажите где есть материал). Для этого я применяю следующую поделку в виде следующего кода:

Код
<?php
define( '_VALID_MOS', 1 );
global $database;
require_once( 'configuration.php' );
require_once( 'includes/joomla.php' );
require_once( 'includes/pageNavigation.php' );

$sourceCat = 501;
$destinationCat = 508;

$queryGetMaxVendors = "SELECT max(id) as max FROM jos_autobb_vendors";
$database->setQuery($queryGetMaxVendors);
$database->loadObject($vendMax);
$maxNumberOfVendors = $vendMax->max;

$queryGetMaxCat = "SELECT max(id) as max FROM jos_autobb_vendors WHERE `category`=$sourceCat";
$database->setQuery($queryGetMaxCat);
$database->loadObject($MaxCat);
$maxVendorsOfCat = $MaxCat->max;

$queryGetMaxModels = "SELECT max(id) as max FROM jos_autobb_models";
$database->setQuery($queryGetMaxModels);
$database->loadObject($modelMax);
$maxNumberOfModels = $modelMax->max;

$queryGetFirstCat = "SELECT min(id) as min FROM jos_autobb_vendors WHERE `category`=$sourceCat";
$database->setQuery($queryGetFirstCat);
$database->loadObject($MinCat);
$iVendor = $MinCat->min;
//---------------------------------------------------------------------------------
// копирование видов комплектации
$qMaxComplect = "SELECT max(id) as max FROM jos_autobb_complectations";
$database->setQuery($qMaxComplect);
$database->loadObject($complectMax);
$maxComplect = $complectMax->max;

$qComplect = "SELECT * FROM jos_autobb_complectations WHERE `category`=$sourceCat";
$database->setQuery($qComplect);
$oComplect = $database->loadObjectList();
foreach( $oComplect as $complect)
{
$maxComplect++;
$queryInsComplect= "INSERT INTO `jos_autobb_complectations` (`id`, `category`, `title`, `options`) VALUES ($maxComplect, $destinationCat, '$complect->title', '$complect->options')";
$database->setQuery($queryInsComplect);
$database->query();
print "----- $maxComplect: $complect->title, $complect->options";
echo "</br>";
}
echo "</br>";
echo "------------------------------------------------------------";
//---------------------------------------------------------------------------------
// копирование типов кузова
$qMaxBody = "SELECT max(id) as max FROM jos_autobb_bodies";
$database->setQuery($qMaxBody);
$database->loadObject($bodyMax);
$maxBody = $bodyMax->max;

$qBody = "SELECT * FROM jos_autobb_bodies WHERE `category`=$sourceCat";
$database->setQuery($qBody);
$oBody = $database->loadObjectList();
foreach( $oBody as $body)
{
$maxBody++;
$queryInsComplect= "INSERT INTO `jos_autobb_bodies` (`id`, `category`, `title`) VALUES ($maxBody, $destinationCat, '$body->title')";
$database->setQuery($queryInsComplect);
$database->query();
print "----- $maxBody: $body->title";
echo "</br>";
}
echo "</br>";
echo "------------------------------------------------------------";
//---------------------------------------------------------------------------------
for(; $iVendor <= $maxVendorsOfCat; $iVendor++)
{
// Добавление в таблицу jos_autobb_vendors легковых автомобилей из категории $sourceCat в категорию $destinationCa
$queryVendor = "SELECT * FROM jos_autobb_vendors WHERE `category` = $sourceCat and  `id` = $iVendor ";
$database->setQuery($queryVendor);
$database->loadObject($oVendor);
$numVendor = $maxNumberOfVendors+$iVendor; // номер производителя в таблице  ->  id
print "$numVendor: $oVendor->title";
echo "</br>";
$queryInsVendors = "INSERT INTO `jos_autobb_vendors` (`id`, `category`, `title`, `itemid`, `description`) VALUES ($numVendor, $destinationCat, '$oVendor->title', 0, '')";
$database->setQuery($queryInsVendors);
$database->query();
// Добавление в таблицу jos_autobb_models марок категории $sourceCat соответствующих категории $destinationCat
$queryModels = "SELECT * FROM jos_autobb_models WHERE `vendor` = $iVendor";
$database->setQuery($queryModels);
$oModels = $database->loadObjectList();
$iMod = 1;
foreach( $oModels as $model )
{
$maxNumberOfModels++;
$queryInsMod= "INSERT INTO `jos_autobb_models` (`id`, `title`, `vendor`, `itemid`, `description`) VALUES ($maxNumberOfModels, '$model->title', $numVendor, 0, '')";
$database->setQuery($queryInsMod);
$database->query();
print "----- $maxNumberOfModels: $model->title";
echo "</br>";
}
} // for(; $iVendor <= $maxVendorsOfCat; $iVendor++)
?>
Для полного копирования содержимого одной категории ТС в другую необходимо:
- в админке создать новую категорию ТС;
- запомнить ID  категории источника и ID созданной категории;
- в приведённом коде переменной $sourceCat присвоить значение ID категории источника, а переменной $destinationCat присвоить ID созданной категории;
- сохранить код в файл;
- разместить этот файл в каталоге размещения сайта;
- выполнить файл через командную строку или из окна браузера.

Alex Revo, обращаюсь, как к гуру компонента! Было бы не плохо встроить такую возможность в дорабатываемы компонент. Приведённый код имеется во вложенном файле.

З.Ы. Я не php-программист, т.ч. не судите строго, а лучше напишите как надо было делать. Эта поделка вполне работоспособна. Проверял неоднократно. Думаю, многим будет полезна.

[вложение удалено Администратором]
« Последнее редактирование: 15.03.2008, 00:04:16 от Nikodim »
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Спасибо, Nikodim. Обязательно рассмотрю это предложение и попробую реализовать в новой версии.

Сидел разбирался ииии ... обнаружил, что у меня не было копирования типов кузова (таблица _autobb_bodies). Исправил в коде и перезаписал файл в первом посте.

А для дальнейших модернизаций компонента такое предложение:
так как при установке установке компонента, устанавливается полная база всех марок и моделей в стандартные категории (легковые, грузовые), можно сделать кнопку для создания новой категории вроде "создать копированием" с выбором базовой (стандартной) категории в качестве источника.
« Последнее редактирование: 15.03.2008, 11:55:04 от Nikodim »
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Да, я так и планирую сделать.
*

b2z

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

Warning: Invalid argument supplied for foreach() in E:\xampp\htdocs\auto\set.php on line 40

------------------------------------------------------------
Warning: Invalid argument supplied for foreach() in E:\xampp\htdocs\auto\set.php on line 61

------------------------------------------------------------0:

Warning: Invalid argument supplied for foreach() in E:\xampp\htdocs\auto\set.php on line 90

Посмотрл код, вроде всё правильно...
*

P@shKenDr

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
А для дальнейших модернизаций компонента такое предложение:
так как при установке установке компонента, устанавливается полная база всех марок и моделей в стандартные категории (легковые, грузовые), можно сделать кнопку для создания новой категории вроде "создать копированием" с выбором базовой (стандартной) категории в качестве источника.
Чтото я непонял логики, ведь стандартной базе всех марок и моделей идёт привязка по id к  стандартным категориям (легковые, грузовые 601,'Иномарки легковые' и 603,'Грузовики'), а если я изменил категории на 601,'Иномарки легковые' 602,'Отечественные легковые' 603,'Легкий грузовик' 604,'Грузовик или спец.техника' и т.д. то как импортирование базы марок ТС правильно "ляжет" на изменёные категории???
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
правильно не ляжет, нужно так менять значения id на новые
*

Sto-auto

  • Захожу иногда
  • 183
  • 0 / 2
  • не останавливайся...
Раньше все получалось, а сейчас все время "Restricted access". С autobb for Joomla 1.5 этот метод работает?
*

Sto-auto

  • Захожу иногда
  • 183
  • 0 / 2
  • не останавливайся...
Как сделать аналогичное на 1.5? Как скопировать категорию?
« Последнее редактирование: 21.09.2011, 00:15:36 от Sto-auto »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вопрос по модулю Выбор марок/моделей автомобилей

Автор FLYERok

Ответов: 2
Просмотров: 3405
Последний ответ 21.08.2012, 23:33:53
от Alex Revo
Собираю базу моделей и марок

Автор Dimka56ru

Ответов: 9
Просмотров: 4667
Последний ответ 19.08.2012, 20:43:54
от Goldcoding
Красивая навигация с логотипами марок

Автор pilotus

Ответов: 11
Просмотров: 4657
Последний ответ 05.07.2010, 09:16:34
от Alex Revo
Проблема со списком моделей авто

Автор ZeoNic

Ответов: 4
Просмотров: 3050
Последний ответ 28.06.2010, 06:18:12
от Павел Зотов
А как в общем каталоге марок и моделей убрать общее количество авто?

Автор pinkfloyd

Ответов: 1
Просмотров: 2262
Последний ответ 14.06.2010, 20:40:06
от Alex Revo