Новости Joomla

Свои типы полей в Joomla.

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note" name="your_note_for_user" label="Заголовок примечания" title="Альтернативный способ для заголовка" description="Текст примечания" class="col-12 alert alert-info" heading="h1" close="true" />

heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён. Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле

<field type="systempluginstatus" name="systempluginstatus" addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>

-

type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:

<?php // namespace для атрибута addfieldprefix namespace Joomla\Module\Wtquicklinks\Site\Fields; // нельзя напрямую обращаться к этому файлу defined('_JEXEC') or die; // подключаем родительский класс для переопределения use Joomla\CMS\Form\Field\NoteField; use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\PluginHelper; // имя класса и имя файла точь-в-точь class SystempluginstatusField extends NoteField { protected $type = 'Systempluginstatus'; protected function getLabel() { // если плагин не включён if(PluginHelper::isEnabled('system','wtquicklinks')) { // меняем свойства родительского класса $this->class = 'alert alert-danger w-100'; $this->element['label'] = '⚠️ А-а-а-а!'; $this->element['description'] = 'Плагин не включён!!'; // и просто рендерим его с нашими свойствами return parent::getLabel(); } // А иначе всё хорошо, скрываем поле из виду. $this->parentclass = 'd-none'; return ''; } }

Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает. @webtolkru#joomla #php #webdev #разработка

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

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Команда JoomLine, рада представить компонент Yandex.Market XML v1.0. Компонент Joomla который позволяет организовать экспорт товаров из интернет магазина в формате YML. Компонент поддерживает следующие магазины Joomla: JoomShopping, VirtueMart, HikaShop.
Статья на joomlaportal.ru http://joomlaportal.ru/news/extensions/commercial/2523-yandexmarketxml
Официальная страница компонента http://joomline.ru/rasshirenija/komponenty/yandexmarketxml.html
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
День добрый.
Интересует вопрос о том, как компонент генерирует XML карту товаров. В магазине порядка 30 тыс товаров ( не полный каталог) и есть переживания, что компонент не сгенерирует карту. (xmap не смог генерировать карту сайта, помог платный компонент)
Смотрю....
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Какой у вас магазин? Могут возникнуть проблемы из-за времени выполнения скрипта, если у вас есть инструменты, позволяющие его увеличить, то переживать не стОит. У меня самый большой тест на джумшоппинге, там 13000 товаров, справляется за 3-4 скунды.
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Какой у вас магазин? Могут возникнуть проблемы из-за времени выполнения скрипта, если у вас есть инструменты, позволяющие его увеличить, то переживать не стОит. У меня самый большой тест на джумшоппинге, там 13000 товаров, справляется за 3-4 скунды.
VM 3.
А динамического создания нет?! Просто Xmap потому и не мог создать карту, что ему не хватало времени и было ошибка 502.
Товаров с ценой пока 9000 шт.
Смотрю....
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Фигня, а не нагрузка. На таймвебе секунд за пять с характеристики у меня делает.
*

zikkuratvk

  • Глобальный модератор
  • 4819
  • 345 / 2
  • Обслуживаем проекты - дорого.
Обновлена версия до 1.3.

Оптимизация расхода памяти при генерации XML больших объемов.
Оптимизация для большого количества товаров.
Тестирование генерации XML с магазинами более 20 000 товаров.
Поддержка характеристик товаров VirtueMart.
Поддержка исключения категорий и товаров VirtueMart.
Поддержка мультитоваров VirtueMart.
Исправление ссылок в XML в HikaShop.
Добавлена опция "Можно купить в Магазине".
Добавлена опция "Возможен самовывоз товара".
Исправление ошибок.

Официальная новость
Страница компонента
Купить
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Попробую на своём с 9000 тыс товарами без cron с генерировать!

p/s Создал тикет на сайте разработчиков!

Так и не заработал нормально компонент!
« Последнее редактирование: 04.08.2015, 00:12:18 от yrygvay »
Смотрю....
*

zikkuratvk

  • Глобальный модератор
  • 4819
  • 345 / 2
  • Обслуживаем проекты - дорого.
Обновился компонент для версии 1.4


    Исправлены ошибки найденные в процессе эксплуатации.
    Оптимизирована работа с большими прайс листами.
    Полностью переработан механизм формирования листов экспорта.
    Добавлена возможность гибко настраивать фильтрацию товаров для ленты товаров.
    Поддержка PHP 7 и Joomla 3.5.

Новость на сайте joomline
Официальная страница
Приобрести
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
День добрый, обновил компонент.
Создал новую карту.
Указал категории ВСЕ  (virtuemart)
По итогу не все товары опять выгрузились.
Что сделал не так?


Смотрю....
*

zikkuratvk

  • Глобальный модератор
  • 4819
  • 345 / 2
  • Обслуживаем проекты - дорого.
Здравствуйте, вы обращались за поддержкой по этому вопросу?
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

ezheck

  • Захожу иногда
  • 75
  • 2 / 0
Так как уже давно в органической выдаче Я (не в я.маркете!) данные из YML включая цену, картинку, также часто и сниппет тоже оттуда же из YML.xml, то в полный рост встал вопрос, а может ли делать JL Yandex Market XML файл YML.xml из обычных статей/материалов jooml'ы?
*

zikkuratvk

  • Глобальный модератор
  • 4819
  • 345 / 2
  • Обслуживаем проекты - дорого.
Так как уже давно в органической выдаче Я (не в я.маркете!) данные из YML включая цену, картинку, также часто и сниппет тоже оттуда же из YML.xml, то в полный рост встал вопрос, а может ли делать JL Yandex Market XML файл YML.xml из обычных статей/материалов jooml'ы?
Вы с форматом YML ознакомились прежде чем задать такой вопрос?
Для YML требуется достаточно много специфических параметров, которые есть только в интернет магазине, конечно собрать для материалов можно все что угодно при желании, но все таки YML - это формат прежде всего для описания товаров в интернет магазине.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Так как уже давно в органической выдаче Я (не в я.маркете!) данные из YML включая цену, картинку, также часто и сниппет тоже оттуда же из YML.xml, то в полный рост встал вопрос, а может ли делать JL Yandex Market XML файл YML.xml из обычных статей/материалов jooml'ы?
Можно но под заказ. Иначе из-за обилия настроек аля выберите доп. поле с ценой, укажите доставку, валюту. и прочем выйдет слишком сложно. А под один сайт не проблема. Пишите в коммерческий раздел.
« Последнее редактирование: 07.10.2019, 23:46:01 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

bgg87

  • Захожу иногда
  • 164
  • 2 / 0
  • Истина где-то рядом...
Доброго времени суток!

Возникла проблема с данным компонентом. Устанавливал его давно, после установки все работало исправно. Потом несколько раз обновлял Joomla и VM. Сегодня начал выгружать по новой и появилась ошибка :
Код
revision: 6470735; Build date: 2020-03-10T15:46:26.000000Z (строка 0, столбец 0)
categories type: Unmmaped (строка 13, столбец 32)
20 has parent_id 128 which is not an existing category id. This parent_id will be removed. (строка 15, столбец 42)
scheme: delivery-options (строка 19, столбец 24)
Данная ошибка наблюдается при выгрузке данных в панели управления Я.Вебмастер "Товары и цены".
В старых файлах отсутствовало "parent_id", видимо это появилось после обновления VM.

Код
<categories>
<category id="20" parentId="128">КАТЕГОРИЯ</category>
</categories>

Joomla! ‎3.9.12
VirtueMart 3.6.10 10211
Yandex Market XML Версия: 2.0.0
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин доставки сдэк для Joomla+Virtuemart

Автор boraah

Ответов: 7
Просмотров: 4732
Последний ответ 16.12.2024, 23:08:25
от David_99
[Импорт/экспорт] Excel2VM - для VirtueMart 2-3. Excel и Яндекс.Маркет. (xls, XLSX, CSV, xml)

Автор katrey

Ответов: 109
Просмотров: 27653
Последний ответ 09.06.2021, 07:58:15
от asteroidx
Привязка магазина с ms access

Автор galemus

Ответов: 0
Просмотров: 2427
Последний ответ 24.11.2019, 20:51:41
от galemus
Ecommerce Tracking Yandex Metrika for VirtueMart

Автор phpJS

Ответов: 7
Просмотров: 3713
Последний ответ 01.03.2018, 10:11:10
от phpJS
NoCaptcha на странице регистрации - 10$ (Joomla 2.5 и VirtueMart 2)

Автор gaalferov

Ответов: 0
Просмотров: 2882
Последний ответ 18.04.2017, 11:15:24
от gaalferov