Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 15 Ответов
  • 10470 Просмотров
*

SDemon

  • Осваиваюсь на форуме
  • 32
  • 2 / 1
  • Быть или не быть...
Как редактировать поле "Список свойств товара" который отображается выше поля "Количество" и кнопки "Купить"
Если я не там копаю, просьба указать верный путь :)
Суть такова:
Есть папка "product_details" в ней файлы отвечающие за отображение товара, но всё поле с выбором количества товара, выбора свойств и кнопкой купить формируется в них одной переменной "$addtocart". Ковырял остальные файлы и в папке "product_details/includes" нашел файл "addtocart_form.tpl.php" в нем есть переменная "$html" которая выводит то самое поле, которое мне необходимо отредактировать, а именно - выбора свойств товара. Все, где найти формирование этой переменной уже и не знаю :(

Я так понимаю, что все как-то редактируют это окно, где Вы это делаете ? Помогите пожалуйста  >:(
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Правильным путём идёте, товарисч.
Весь вывод карточки товара обрабатывается в \administrator\components\com_virtuemart\html\shop.product_details.php
А вот шаблоны лежат именно там, где вы их нашли.
*

SDemon

  • Осваиваюсь на форуме
  • 32
  • 2 / 1
  • Быть или не быть...
Спасибо за ответ!

Переменная $html, где редактировать ее настройки (отображение) ?  :'(
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
нужный файл - \administrator\components\com_virtuemart\classes\ps_product_attribute.php
функция list_attribute

в addtocart_form.tpl.php чётко же написано - $ps_product_attribute->list_attribute( ( $product_parent_id > 0 )  ? $product_parent_id : $product_id )
*

SDemon

  • Осваиваюсь на форуме
  • 32
  • 2 / 1
  • Быть или не быть...
Спасибо огромное, но я наверно неправильно вопрос задал...

Собственно, интересует эта переменная с точки зрения вывода ее на экран в просмотре товара в магазине, т.е. окно свойств товара выглядит очень не ахти как, то поля выперают за приделы этого окна, то текст заползает под форму выбора значений, ну т.п.

В файле "addtocart_form.tpl.php" за все поле вывода свойств товара отвечает переменная "$html"

Или, Вы хотите сказать, что эта переменная сформировалась в "ps_product_attribute.php" и ушла в базу, а на странице просто выводится в том виде в котором она была сохранена?
И нет такого файла, который бы содержал в себе, к примеру таблицу и вставлял в нее переменные для свойств товара, как это зачастую бывает в virtumart?
Другими словами, чтобы изменить это окно в котором выводятся свойства, мне необходимо отредактировать файл "ps_product_attribute.php" и пересоздать свойства товаров, что бы они отобразились в магазине, так как нужно мне!
В общем то нужно проверить эту мыслю, скажите только, я правильно понял Вас или бред какой-то несу? :)
*

SDemon

  • Осваиваюсь на форуме
  • 32
  • 2 / 1
  • Быть или не быть...
Проверил, так - взял и  все данные из файла удалил, оставил только несколько важных переменных, что бы не ругался и эффект такой, в самом магазине вообще это поле не изменилось, а вот в настройках товара оно исчезло, значит информация для вывода в магазине хранится или прям в базе или есть еще какой-то файл...
*

SDemon

  • Осваиваюсь на форуме
  • 32
  • 2 / 1
  • Быть или не быть...
Точно, сделал изменения в этом файле и пересохранил товар, отображение окна со свойствами тоже изменилось :)

Нет не все так гладко, влияет, конечно на отображение, но лишь как следствие, а функция list_attribute отвечает за вывод информации в админ панели (в настройке товара)...

Странный эффект, если "Title" в списке свойств, написать на анл. то в магазине, поле с особенностями будет внизу, указанного "Title", а если ввести рус. буквы в "Title", то они залезут под поле с особенностями! Почему нет переноса строки, когда рус. буквы?
« Последнее редактирование: 20.05.2009, 01:14:57 от SDemon »
*

SDemon

  • Осваиваюсь на форуме
  • 32
  • 2 / 1
  • Быть или не быть...
НЕТ !!!
Все это неправильно!
Такое нужное поле, а настроить просто ужас как сложно, что нельзя было его в отдельный файл с читаемым html и понятным php выкинуть?!?!

Все, голова пустая, проблема осталась  :'(

ЛЮДИ!!!  :D Отзовитесь! Или никто для товара список свойств не составляет?

Поделитесь опытом! Ну подадута  !!!???!!!
*

morph

  • Давно я тут
  • 924
  • 105 / 0
components\com_virtuemart\themes\default\templates\product_details\includes\addtocart_drop.tpl.php
и функция  list_attribute_drop () (administrator\components\com_virtuemart\classes\ps_product_attribute.php)
*

Rodriguez

  • Новичок
  • 5
  • 0 / 0
АП! Я так и не догнал, какой именно фал отвечает за отображение?
*

svsemen

  • Новичок
  • 2
  • 0 / 0
addtocart_advanced_attribute.tpl.php

Отвечает за вывод св-ва товара.
находиться в component
всмысле мнешний вид
*

dj_lexa

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Подскажите как убрать глюк в выводе свойств товара:
В Firefox отображается вот так!

А в IE отображается вот так!

А хочется вот так:
*

dj_lexa

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
*

dj_lexa

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
В файле theme.css подправил пору полей, получилось приблизительно что хотел:
.vmCartContainer { /* Cart Container */
   width: 90%;
   float: left;
   background: #333333;
   border: 1px solid #000;
   padding: 3px;
}

.vmCartChildHeading { /* Header for the cart */
   font-size: 14px;
   font-weight: bold;
   padding-bottom: 3px;
   text-align: left;
}

.vmCartChild { /* Container for the Child Product */
   
   vertical-align: middle;
   border: 1px solid #000;
   padding-left: 2px;
   padding-right: 2px;
   margin-bottom: 2px;
   float:left;
}

Убрав float: left; убираем в IE7 синее место справа, как указана на рисунке выше.

Но в итоге все равно не понял почему браузер Firefox неадекватно обрабатывает параметр width: auto;
Если явно указать параметр width, собственно что я и сделал, то все отображается довольно прилично.
« Последнее редактирование: 26.02.2012, 01:45:03 от dj_lexa »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart не может создать мини-изображение из .jpeg-файла

Автор Nick IntegraLL

Ответов: 13
Просмотров: 13417
Последний ответ 19.08.2025, 09:55:52
от AgentSmith
Настройки отображения товара

Автор wectra

Ответов: 2
Просмотров: 5771
Последний ответ 12.07.2017, 22:12:27
от wectra
Несколько изображений для товара/ Лупа для изображения/ Magic Zoom

Автор antoha333

Ответов: 41
Просмотров: 28306
Последний ответ 13.11.2015, 16:08:16
от sonics
Как реализовать на VirtueMart такую карточку товара?

Автор AdmbVlad

Ответов: 0
Просмотров: 3419
Последний ответ 14.10.2015, 17:01:55
от AdmbVlad
[download] Модуль вывода товаров для VirtueMart (1.2.3 и 2.1)

Автор beliyadm

Ответов: 1448
Просмотров: 384594
Последний ответ 21.07.2015, 06:21:55
от Серегин