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

dmonco

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
  • http://dmitryboruk.com
Модифицировал VirtueMart, добавил дополнительные страницы.
Так вот на одной из них у меня загвоздка.

Как правильно сделать вложенный цикл и вывести данные?

То есть, на странице должна быть такая таблица:

Заказ    Дата                         Сумма             Скидка    Доставка    Сумма к оплате       Статус
№17      12 января 2009 года      18 711 руб.    15%          300 руб.   20 011 руб.                В обработке

А под ней подробные данные о заказе:

фото 1, характеристика товара 1, цена 1
фото 2, характеристика товара 2, цена 2

Если таких заказов два и больше, соответственно под этой таблицей должна появиться ещё одна такая же таблица для второго заказа.

Предполагаю, что здесь нужен вложенный цикл.
for {

     for{

         }
    }

Пытался сделать что-то в этом роде.


       $user =& JFactory::getUser();
       $db =& JFactory::getDBO();
       $query = 'SELECT order_id AS oid, cdate AS cd, order_subtotal AS ost, order_discount AS od, order_shipping AS osh, order_total AS ot, SUM( order_subtotal ) AS sum_ost, SUM( order_discount ) AS sum_od, SUM( order_shipping ) AS sum_osh, SUM( order_total ) AS sum_ot FROM `jos_vm_orders` WHERE `user_id` = "131" AND `order_status` =  "ЗО" OR  `order_status` =  "ОД" group by cdate';
       $db->setQuery($query);
       $rows = $db->loadObjectList();
 
       foreach ( $rows as $row )



Помогите реализовать данный цикл на php. Своими силами и знаниями не получается.
Заранее спасибо!
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
на выходе получается массив из строк, где повторяются данные номер заказа, дата, сумма и характеристики. При этом если в заказе два товара - строк 2, если три - 3 и так далее?
Если да, то я бы делал элементарно (недавно так в одном модуле прекрасно заработало)
делаем счетчиком
Код: php
$i = '0';
foreach ( $rows as $row ) {
 if ($i == '0') {
 echo 'Поля из запроса, которые отвечают за основную информацию о заказе';
 } else {
 echo 'фото 1, характеристика товара 1, цена 1';
 }
$I++;
}
То есть первой строкой мы показываем только основные информации и эта строка у нас будет на выходе одна, остальными выводим столько строк сколько и подробных данных
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmonco

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
  • http://dmitryboruk.com
Спасибо! Всё работает.  :D :D :D
*

dmonco

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
  • http://dmitryboruk.com
Поспешил я сказать, что всё работает.
Первое echo выводится как положено, а echo в else не выводится.
Здесь получается, если i будет не равно 0, только тогда срабатывает else.

Может что-то в этом роде сделать?
Код
<?php
$i = '0';
$k = '0';
foreach ( $rows as $row ) {
if ($i == '0') {
 echo $row->значения. 'Поля из запроса, которые отвечают за основную информацию о заказе';
    }
$I++;
elseif ($k == '0') {
 echo '$row->фото 1, характеристика товара 1, цена 1';
        break;
    }
}
endforeach;
?>

То есть два цикла получается.
1 выводит Поля из запроса, которые отвечают за основную информацию о заказе
2 фото 1, характеристика товара 1, цена 1
      фото 2, характеристика товара 2, цена 2

1 выводит Поля из запроса, которые отвечают за основную информацию о заказе2
2-й фото 1, характеристика товара 1, цена 1
      фото 2, характеристика товара 2, цена 2
« Последнее редактирование: 31.12.2009, 04:40:47 от dmonco »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Прошу прощения, оказывается соврал, в своем модуле делал немного по другому
Код: php
$i = 0;
foreach ( $rows as $row )
{
if ($i == '0') {
    echo 'Первая строка';
} else {}
$i++;
}
$ii = 0;
foreach ( $rows as $row2 )
{
if ($ii != '0') {
    echo 'прочие строки';
} else {}
$ii++;
}
Сейчас смотрю с ужасом и не понимаю зачем я так делал, но то что работало - помню точно. Суть аналогична, пример на сайте в модуле новостей, первый материал выводится полностью с картинкой и текстом, остальные 3-5 только заголовками, все это дело получается из одного запроса
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmonco

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
  • http://dmitryboruk.com
Я уже так пробовал. Не вышло.  >:(

Структура страницы такая:

Таблица 1 (которая не повторяется, а выводится один раз)

Таблица 2 //здесь общая информация заказа
(начало)

  Таблица 3 //подробные данные заказа

Таблица 2 //здесь продолжение общей информации о заказе
(конец)

..вроде должно было работать  :'(
*

dmonco

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
  • http://dmitryboruk.com
Может дело в запросе в базу?

У меня на каждый foreach свой запрос:
1       
 
Код
$user =& JFactory::getUser();
$db =& JFactory::getDBO();
$query = 'SELECT order_id AS oid, cdate AS cd, order_subtotal AS ost, order_discount AS od, order_shipping AS osh, order_total AS ot, order_status AS ostat, SUM( order_subtotal ) AS sum_ost, SUM( order_discount ) AS sum_od, SUM( order_shipping ) AS sum_osh, SUM( order_total ) AS sum_ot FROM `jos_vm_orders` WHERE `user_id` = '.$auth['user_id'].' AND `order_status` =  "ЗО" OR  `order_status` =  "ОД" group by cdate';
$db->setQuery($query);
$rows = $db->loadObjectList();
     

2
Код
$user =& JFactory::getUser();
$db2 =& JFactory::getDBO();
$query2 = 'SELECT i.order_id, i.order_item_name AS item, o.order_id, o.user_id FROM jos_vm_order_item AS i INNER JOIN jos_vm_orders AS o ON i.order_id = o.order_id WHERE o.user_id = '.$auth['user_id'].' group by i.order_item_name';
$db2->setQuery($query2);
$rows2 = $db2->loadObjectList()
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
мне трудно дать внятное решение не зная какие именно данные находятся в таблицах и выбираются запросами
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как заставить Joomla 1.5 работать на сервере с MySQL версии 5.7 и выше?

Автор Palomnik

Ответов: 14
Просмотров: 8776
Последний ответ 01.10.2024, 00:22:40
от jesus
перенесенная Joomla не видит MySQL - в логах MySQL старт нормальный

Автор ommy

Ответов: 23
Просмотров: 6100
Последний ответ 23.01.2018, 11:20:48
от altvvc
MAMP и MySQL

Автор boq

Ответов: 7
Просмотров: 6136
Последний ответ 08.01.2017, 02:25:47
от SeBun
The MySQL adapter "mysqli" is not available

Автор inko_gnito

Ответов: 13
Просмотров: 37510
Последний ответ 27.09.2016, 20:58:27
от lukinalek
[Решено] Unable to connect to the database:Could not connect to MySQL

Автор dircell

Ответов: 82
Просмотров: 169290
Последний ответ 22.01.2016, 19:22:10
от Template_user