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

site4

  • Осваиваюсь на форуме
  • 13
  • 4 / 0
  • Продвижение сайтов, интернет магазины
Стоит русифицированная версия Joomla! 1.5.9 с joomlaportal, virtuemart и csvimproved в legacy mode.
Проблем не возникало до установки компонента csvimproved.
При работе с этим компонентом страницы выдаются в кодировке win-1251, приходится вручную выбирать utf-8, хотя в коде страницы:
Код
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Добавление "AddDefaultCharset UTF-8" в .htaccess не помогло.
Что посоветуете?

[вложение удалено Администратором]
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
А может csvimproved под 1.0.0  а не 1.5 ?
*

site4

  • Осваиваюсь на форуме
  • 13
  • 4 / 0
  • Продвижение сайтов, интернет магазины
csvimproved для 1.5 ни где не видел
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
Так все логично тогда.  ;)
*

site4

  • Осваиваюсь на форуме
  • 13
  • 4 / 0
  • Продвижение сайтов, интернет магазины
Не знаю, что логично, а что нет, но компонент работает, csv в virtuemart импортирует. :)
*

oppo

  • Захожу иногда
  • 365
  • 82 / 8
  • ΨΨΨ я - УКРАЇНЕЦЬ
administrator\components\com_csvimproved\languages\csvi_russian.php
открыть / сохранить в utf-8
*

site4

  • Осваиваюсь на форуме
  • 13
  • 4 / 0
  • Продвижение сайтов, интернет магазины
Пробовал, не помогает, когда английский языковой файл используется тоже самое.
*

morph

  • Давно я тут
  • 924
  • 105 / 0
поставил - и правда слетает на 1251
файл csvimproved.class.php
ищем
Код
$this->LoadJavaScript();
$this->LoadCss();
и коментируем:
Код
//$this->LoadJavaScript();
//$this->LoadCss();
потом файл admin.csvimproved.php
в самом верху перед:
Код
if (isset($cron) && $cron == true) require( $this->basepath.'/administrator/components/com_csvimproved/csvimproved.class.php' );
else {
добавляем:
Цитировать
global $mainframe;

$mainframe->addCustomHeadTag('<script type="text/javascript" src="'. $mainframe->getCfg('live_site') .'/administrator/components/com_csvimproved/js/csvi.js"></script>' );
$mainframe->addCustomHeadTag('<link type="text/css" rel="stylesheet" href="'. $mainframe->getCfg('live_site') .'/administrator/components/com_csvimproved/css/csvi.css" />' );

должно работать без проблем. ^-^
 


*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
csvimproved для 1.5 ни где не видел

Дык вышел уже.
http://www.csvimproved.com/news/new-license-for-csv-improved.html

Из того, что написно, следует, что шаровой. Платная подписка - крутой саппорт и обновления. Для остальных все обновления спустя две недели после выхода. Проблемы с кодировкой в Joomla 1.5 нет.

Чтобы скачать, надо зарегистрироваться. Без этого в даунлоадах его не видно.

Сейчас последняя версия csv-improved-1.5-rc-2

З.Ы. Может кто прочитает. Чтобы не вылетало по таймауту и т.д., при создании шаблона его и ряд других параметров надо указать соответственно вашего сервера. Долго мучался, пока догнал. Выдавало ошибки типа 500 и т.д.
« Последнее редактирование: 17.02.2009, 02:25:51 от Gruz »
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

Luchik

  • Захожу иногда
  • 57
  • 6 / 0
Херп. У меня и в 1,5 и в 0,9 версии постоянно иероглифы вместо русских букв.
Уже все перепробовал и сохранять в UTF-8 и добавлять строчки (пишет ошибку syntax error, unexpected T_ELSE in csvimproved.class.php on line 227).
Помогите. Срочно надо. Или подскажите как экспотировать товары, а то для другого магазина надо.
*

e-homa

  • Осваиваюсь на форуме
  • 17
  • 5 / 0
у меня о 1.0.15 re  и ВМРЕ поставил csv improved 0.9 и таже фича, (крякозябры) вылечил открыв csvi_russian.php в notepad++ и - кодировки -> преобразовать в ANSI (все уже на установленном csv) после этого все сразу ok.
*

ksvtnp

  • Новичок
  • 9
  • 1 / 0
исправленный + 1.5

[вложение удалено Администратором]
*

Polosat

  • Захожу иногда
  • 202
  • 7 / 0
  • Мечты - это то, из чего сделано будущее
ksvtnp без лицензии не фурычит com_csv_improved_1.5rc2.tgz
*

Aspik

  • Давно я тут
  • 542
  • 63 / 2
  • В личку не писать, не отвечу.
Мои расширения - http://eco-joom.com/ru/
*

Megos

  • Захожу иногда
  • 183
  • 2 / 2
Как заставить работать кодировки в 1.5 ? В выложенном архиве нет папки с языками

Поставил 0.9, пересохранил файл - все равно кодировки и битые
« Последнее редактирование: 05.06.2009, 17:34:01 от Megos »
*

zierael

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Точно работает вариант от morph, проверено. Остальное можно пропускать. А morphу скажем спасибо
*

avda

  • Осваиваюсь на форуме
  • 24
  • 1 / 0
Спосибо morphу твоя верся помогло мне ...   после   2  дня мучение
*

tkheun

  • Захожу иногда
  • 145
  • 1 / 0
У меня такая же проблема. Последовал совету morph'a, сделал замены в указанных файлах. Теперь в админке крякозябров нет, но они есть в экспортированном файле. Помогите решить проблему.
*

tkheun

  • Захожу иногда
  • 145
  • 1 / 0
файл с нормальной кодировкой пересохраните
Пересохранить как? Пробовал скачивать специальные программы для работы с csv, но и они не позволяют менять кодировку внутри файла.

А ещё есть один вопрос оффтопик, если позволите. Как в csvimproved увеличить время экспорта файла с 30 секунд до 300 секунд?
*

tkheun

  • Захожу иногда
  • 145
  • 1 / 0
Пробовал. Не работает. Прикрепляю файл с одной выгруженной позицией.

[вложение удалено Администратором]
*

tkheun

  • Захожу иногда
  • 145
  • 1 / 0
Зато сработала старая версия csvimproved 0
Остался вопрос про 30 секунд. Просто у меня большое количество товара и он весь не умещается в один файл, формируемый за 30 секунд.
*

whitefox

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
У меня заработала только после переброски кодировки файла csvi_russian.php с UTF-8 на ANCI(cp-1251). И всё с полпинка покатилось. Важно откачаться с версии, выложенной чуть выше этого поста от 20/03/2009 ksvtnp (ну и имя...). Создателям и преобразователям спасибо.
*

afl_p

  • Новичок
  • 5
  • 0 / 0
спасбо тебе о Великий MORPH! как вы только во всей этой кракозябре разбираетесь ))
*

text

  • Захожу иногда
  • 93
  • 0 / 0
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Цитировать
morph
плюсанул в репу спс
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Palomnik

Ответов: 14
Просмотров: 8302
Последний ответ 01.10.2024, 00:22:40
от jesus
Как установить Joomla 1.5 на php 7?

Автор Marius

Ответов: 8
Просмотров: 3948
Последний ответ 30.05.2021, 21:11:21
от Marius
Проблема с категорией id1 при миграции

Автор dron

Ответов: 6
Просмотров: 5649
Последний ответ 08.10.2019, 20:04:49
от dron
При попытке войти в админку 404 ошибка компонента - Joomla 1.5: Общие вопросы

Автор omezik

Ответов: 1
Просмотров: 3560
Последний ответ 30.08.2019, 16:10:56
от voland
Нужно починить модуль импорта на сайте Joomla

Автор matus-8

Ответов: 0
Просмотров: 3349
Последний ответ 22.08.2019, 15:09:17
от matus-8