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

cvoboda

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Всем привет!
Возможно ли в настраиваемых полях (атрибут корзины) помимо сложения добавить умножение, чтобы свойства товара умножались когда ставишь знак * от начальной цены товара?
Я так понимаю за это отвечает calculationh.php В строке 304 можно заменить в $basePriceShopCurrency = $basePriceShopCurrency + doubleval($variant); + на *, но тогда свойства будут просто умножаться, а как сделать, чтобы когда надо складывались, т.е например пишешь +100 либо *100...

Кто нибудь заморачивался?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Можно попробовать это:
Код
$basePriceShopCurrency = (substr($variant,0,1)=='+')?($basePriceShopCurrency + doubleval($variant)):($basePriceShopCurrency * doubleval($variant));
« Последнее редактирование: 13.05.2013, 21:57:53 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

cvoboda

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Большое спасибо, но не работает.

Если заменить код $basePriceShopCurrency = $basePriceShopCurrency + doubleval($variant); на Ваш, то значения в настраиваемых полях только умножаются, т.е если поставить просто значение, например "2" или "+2" , то умножается на "2", а если поставить "-2" то умножается на 2 и ставится знак минуса перед значением. Если поставить *2, то ничего не происходит...
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А к какому типу переменных относятся $variant и $basePriceShopCurrency? Как я понял, они записаны в БД? Если структура поля - numeric, а вы пытаетесь записать туда string (а *2 является string), то вызываете ошибку и ничего не будет происходить.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php
$a='20';
$b=5;
echo ($a*$b);//100
?>
robert для вас :o
Код: php-brief
<?php
$a=5;
$b='*20';
eval ("\$c =$a$b;");
echo $c;//100
?>
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
robert для вас :o
Спасибо, Федор! Очередной урок от вас  ^-^.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

cvoboda

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
А к какому типу переменных относятся $variant и $basePriceShopCurrency? Как я понял, они записаны в БД? Если структура поля - numeric, а вы пытаетесь записать туда string (а *2 является string), то вызываете ошибку и ничего не будет происходить.
Возможно ли в коде дописать возможность умножения или нет? Ведь работает же функция "+" и "-".
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Fedor Vlasenko же наглядно показал примеры, вы могли бы уже сами найти ответ.
Код
if(substr($variant,0,1)!=='*'){
$basePriceShopCurrency=$basePriceShopCurrency + doubleval($variant);
}else{
eval("\$basePriceShopCurrency=$basePriceShopCurrency$variant;");
}
Имейте в виду: подразумеваем, что $variant - это та переменная, которая будет иметь префикс "*" или "+".
« Последнее редактирование: 15.05.2013, 09:42:41 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
так одной строчки хватит
Код: php-brief
eval("\$basePriceShopCurrency=$basePriceShopCurrency$variant;");
будет обрабатывать строки + - * / и т. д. (Будет выполнять код)
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
так одной строчки хватит
Ну конечно же.
Я думал, что это на случай, когда человек кроме "+ - * /" вдруг что-нибудь еще напишет. Но оказалось, что никакой разницы нет.

P.S. Хотя
Код
<?php
$a=5;
$b='20';
eval ("\$c =$a$b;");
echo $c;//520
?>
« Последнее редактирование: 15.05.2013, 12:09:39 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

cvoboda

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Большое спасибо, но моих тупых мозгов не хватает понять что менять на что...

у меня в коде след:

               
Код
if (!empty($variant)) {
 
                $basePriceShopCurrency=$basePriceShopCurrency + doubleval($variant);
       
$prices['basePrice'] = $prices['basePriceVariant'] = $basePriceShopCurrency;


Как подключить ваш код, в php мягко говоря слабоват...
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
if (!empty($variant)) {		  
                eval("\$basePriceShopCurrency=$basePriceShopCurrency$variant;");
$prices['basePrice'] = $prices['basePriceVariant'] = $basePriceShopCurrency;
только везде надо писать +число или -число или *число
*

cvoboda

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Код: php-brief
if (!empty($variant)) {		  
                eval("\$basePriceShopCurrency=$basePriceShopCurrency$variant;");
$prices['basePrice'] = $prices['basePriceVariant'] = $basePriceShopCurrency;
только везде надо писать +число или -число или *число


К сожалению, не перемножает(((
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
К сожалению, не перемножает(((
Что именно не перемножает? Пошагово объясните, что вы сделали.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

cvoboda

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Что именно не перемножает? Пошагово объясните, что вы сделали.

Создал два настр поля атрибут корзины для товара

первое, высота: 350мм;500мм;
второе, кол-во секций: 1 секц; 2секц;

Основная стоимость, например 300 руб

первое поле:
500 мм : 0
350 мм : -14

второе:
1секц : 0;
2секц : *2

Если использовать ваш код, то значения меняются только если выбирать между 350 и 500, т.е работает только вычитание
Если выбрать секционность, то умножение не работает не при выборе 350, не при выборе 500 мм.

Придется скорее всего объединять эти два значения, например
350мм - 1 секц
350мм - 2 секц
500мм - 1 секц
500мм - 2 секц

Слишком длиный список получается, чего мне не хотелось, думал, что добавить функцию умножение не сложно.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А если
Код
первое поле:
500 мм : 0
350 мм : *14
? Так работает?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

cvoboda

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
А если
Код
первое поле:
500 мм : 0
350 мм : *14
? Так работает?

Нет, к сожалению...
*

Kumigy

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Ребята, а как победить то, что при сохранении товара все знаки поля удаляются кроме плюса?
если я пишу *100 или /100 у меня после сохранения там 0,0000
*

Kumigy

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
в общем победил я этот недуг, в базе данных нашёл таблицу j25_virtuemart_product_customfields и сменил тип custom_price на варчар.
добавил небольшое условие:
Код
			if(!empty($matches)){
eval("\$basePriceShopCurrency=$basePriceShopCurrency$variant;");
$this->productPrices['basePrice'] = $this->productPrices['basePriceVariant'] = $basePriceShopCurrency;
}else{
$basePriceShopCurrency = $basePriceShopCurrency + doubleval($variant);
$this->productPrices['basePrice'] = $this->productPrices['basePriceVariant'] = $basePriceShopCurrency;
}

это что бы если знак не указан, сложение выполнялось по умолчанию.
в программировании не силён, так что камнями не закидывайте)))
*

NIKOLY

  • Захожу иногда
  • 94
  • 1 / 0
Здравствуйте! А для VM 3  с вопросом перемножения атрибута корзины никто не сталкивался? Может быть есть у кого решения, тоже давно ищу.
*

NIKOLY

  • Захожу иногда
  • 94
  • 1 / 0
Может кто данный вопрос решить на платной основе? Спасибо!
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
*

NIKOLY

  • Захожу иногда
  • 94
  • 1 / 0
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отображение полей CF в карточке товара

Автор farmer66

Ответов: 2
Просмотров: 2687
Последний ответ 17.02.2023, 13:39:18
от farmer66
Вывод изображений настраиваемого поля в карточке товара

Автор wasssup

Ответов: 0
Просмотров: 2747
Последний ответ 05.07.2022, 08:51:19
от wasssup
Проблема с отображением атрибута корзины в письме

Автор korets77

Ответов: 0
Просмотров: 2581
Последний ответ 22.09.2020, 22:42:58
от korets77
Как удалить дочерние товары в карточке товара VM 2?

Автор zeus07

Ответов: 0
Просмотров: 1135
Последний ответ 12.05.2020, 14:51:39
от zeus07
[Решено] Вывод других товаров тойже категории в карточке товара

Автор x-render

Ответов: 30
Просмотров: 9113
Последний ответ 06.01.2020, 07:39:31
от Igoritaly