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

Иоланта

  • Захожу иногда
  • 166
  • 3 / 0
а у меня такая проблема:
доставка по городу 650 рублей (делаю тариф доставки с диапазоном индексов)
самовывоз бесплатно (диапазон индексов 000000 до 999999)
доставка транспортной компанией 1000

а как быть, если мне нужно поставить такой вариант: по городу свыше 50 000 рублей бесплатно? модуль от суммы мне не подходит, т.к. тогда будет бесплатная доставка и курьером и транспортной компанией и почтой...
*

meverikxp

  • Захожу иногда
  • 57
  • 0 / 0
Спасибо, все сдалал по инструкции и работает на УРА!
*

slovoblud

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • Починяю примуса
Действительно нужно было немного подправить файл ps_shipping.php, а именно не забыть добавить в запрос на добавление 2 новых поля: shipping_rate_minimum_cost и shipping_rate_maximum_cost. Вот так вот:
Код
    $q .= "shipping_rate_weight_end,shipping_rate_minimum_cost,shipping_rate_maximum_cost,";

Присоединяюсь к Gremlin на версии  VirtueMart 1.1.3 также когда добавил хак по инструкции в первом посте, то новые тарифы доставки не добавлялись, но что характерно, уже добавленные тариф с новым хаком работали отлично. Что я сделал?

Открыл файл:
administrator\components\com_virtuemart\classes\ps_shipping.php
и в нем в районе строки 409 там где:
Код
 
$q = "INSERT INTO #__{vm}_shipping_rate ";
$q .= "(shipping_rate_name,shipping_rate_carrier_id,shipping_rate_country,";
$q .= "shipping_rate_zip_start,shipping_rate_zip_end,shipping_rate_weight_start,";
в строке:
Код
 $q .= "shipping_rate_weight_end,shipping_rate_value,shipping_rate_package_fee,";
добавил после shipping_rate_weight_end, через запятую два параметра: shipping_rate_minimum_cost,shipping_rate_maximum_cost,
В итоге строка стала выглядеть так:
Код
$q .= "shipping_rate_weight_end,shipping_rate_minimum_cost,shipping_rate_maximum_cost,shipping_rate_value,shipping_rate_package_fee,";

И да для VM 1.1.3 там где в мануале:
'shipping_rate_maximum_cost' => vmGet($d, 'shipping_rate_maximum_cost'),

вместо этого нужно вставлять что то типа
$q .= $d["shipping_rate_maximum_cost"] . "','";
смысл тот же но сама конструкция немножко другая.
А так спасибо ТС хак отличный.
*

Yodalife

  • Новичок
  • 8
  • 0 / 0
Зачетный хак! Спасибо! Все сделал и заработало. Долго не мог понять почему не отображаются варианты доставки, при добавление более 1 товара, причем не каждый товар, а как то выборочно, бывает 5 в корзину брошу и все отлично, а иногда и с 2 не отображается... Оказалось все просто, на некоторые товары вес стоял не в "kg", а почему то в "кг". Поменял, и все отлично!
Но мне надо было сделать еще доставку в процентах, об этом чуть ниже.

Что я еще доделал до большей универсальности этого модуля. Полностью солидарен с высказыванием:
Может кто в курсе, как верезать проверку индекса города при доставке ? Достало уже ((

Поэтому вот решение:

В файле \administrator\components\com_virtuemart\classes\shipping\standard_shipping.php закоментировал строки, отвечающие за проверку страны и индексов:

Код
//if( ! stristr( $db->f( "shipping_rate_country" ), $country ) && $db->f( 'shipping_rate_country' )!= "" ) {
// $vmLogger->debug( 'The country ' . $country . ' is not supported by this shipping rate.' ) ;
// $valid = false ;
//}

И еще чуток далее:

Код
//if( is_numeric( $zip ) ) {
// if( $db->f( "shipping_rate_zip_start" ) > $zip ) {
// $vmLogger->debug( 'The ZIP ' . $zip . ' is smaller than the supported ZIP code range of this shipping rate.' ) ;
// $valid = false ;
//
// }
// if( $db->f( "shipping_rate_zip_end" ) < $zip ) {
// $vmLogger->debug( 'The ZIP ' . $zip . ' is higher than the supported ZIP code range of this shipping rate.' ) ;
// $valid = false ;
// }
//}

Далее, требовалось указать часть доставок в процентах от суммы заказа. Решение:

В этом же файле \administrator\components\com_virtuemart\classes\shipping\standard_shipping.php

1. Добавил две строчки с переменной для процентов
      
Код
//GET PRICE
      if ( $_SESSION['auth']['show_price_including_tax'] != 1 ) {
      $taxrate = 1;
      $order_total = ($total + $tax_total);
      $percent01 = ($total + $tax_total)/100;
      }
      else {
      $taxrate = $this->get_tax_rate() + 1;
      $order_total = $total;
      $percent01 = $total/100;
      }
      //END GET PRICE

2. Далее,

Код
$total_shipping_handling = $dbr->f( "shipping_rate_value" ) + $dbr->f( "shipping_rate_package_fee" ) ;

Заменил на:

Код
$total_shipping_handling = $dbr->f( "shipping_rate_value" ) + ($dbr->f( "shipping_rate_package_fee" )*$percent01) ;

3. Ищем

Код
$rvalue["pack_rate"] = $dbr->f( "shipping_rate_package_fee" ) ;
$rvalue["total_rate"] = $dbr->f( "shipping_rate_value" ) + $dbr->f( "shipping_rate_package_fee" ) ;

и меняем на:

Код
$rvalue["pack_rate"] = $dbr->f( "shipping_rate_package_fee" )*$percent01 ;
$rvalue["total_rate"] = $dbr->f( "shipping_rate_value" ) + ($dbr->f( "shipping_rate_package_fee" )*$percent01) ;

4. В языковом файле: administrator/components/com_virtuemart/languages/shipping/russian.php
Код
'PHPSHOP_RATE_FORM_PACKAGE_FEE' => 'Стоимость доставки в процентах',

Вот и все. Теперь получился ПОЧТИ универсальный модуль. ;-)
Еще раз громадное спасибо!
*

dayme0

  • Новичок
  • 8
  • 0 / 0
Здравствуйте. выдаёт Ошибка: Failed to update the shipping rate. Подскажите. Спасибо
*

dayme0

  • Новичок
  • 8
  • 0 / 0
Может кто откликница..
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль доставки "Почтой России"

Автор alibedog

Ответов: 104
Просмотров: 57746
Последний ответ 13.07.2021, 17:36:09
от SolopoV
Модуль доставки Укрпочта

Автор al_13

Ответов: 13
Просмотров: 8213
Последний ответ 13.05.2021, 12:57:59
от nnnata
Уведомление о заказе в зависимости от варианта доставки

Автор baltazors

Ответов: 0
Просмотров: 3246
Последний ответ 07.06.2017, 11:44:10
от baltazors
Модуль доставки - самовывоз. Как сделать?

Автор demonm

Ответов: 18
Просмотров: 9749
Последний ответ 29.04.2017, 17:31:56
от princeyury
Варианты доставки из админки

Автор El_nik

Ответов: 7
Просмотров: 3631
Последний ответ 27.04.2017, 10:51:38
от El_nik