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

IkiZ

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Добрый вечер господа!
Подскажите пжл. как установить демо-шаблон на уже установленную Joomla? Только начинаю с этим всем разбираться и много чего не понимаю. Ситуация следующая, у меня хостер пока не поддерживает версию PHP  для Joomla 3.3, а демо-шаблон идет как раз с этой версией. Но обычный шаблон прекрасно ставится на Joomla  3.2.7, но он пустой без расширений и т.д. Соответственно я хочу поставить демо на Joomla 3.2.7. Заранее благодарен.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Цитировать
Подскажите пжл. как установить демо-шаблон на уже установленную Joomla?
Это невозможно. Демо, это не шаблон, это Joomla с предустановленными данными. Установить Joomla в Joomla, естественно, нельзя.
*

IkiZ

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Это невозможно. Демо, это не шаблон, это Joomla с предустановленными данными. Установить Joomla в Joomla, естественно, нельзя.
Возникает вопрос, как поменять версию Joomla в демо? Или как найти выход из этой ситуации?
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
А "выкусить" и установить шаблон на установленную Joomla слабо?
*

IkiZ

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
А "выкусить" и установить шаблон на установленную Joomla слабо?
Простите выкусить это как? яж написал что только начинаю. мне надо чтобы сайт выглядел как демо со всеми плагинами и т.д.
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 118 / 9
Не надо ничего кусать и выкусывать, просто берете квик-старт шаблона и устанавливаете согласно инструкции от производителя. Обычно уcтанавливается стандартная Joomla, а в конце нужно выбрать установку нужной базы данных. Тем на форуме навалом
*

IkiZ

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Не надо ничего кусать и выкусывать, просто берете квик-старт шаблона и устанавливаете согласно инструкции от производителя. Обычно уcтанавливается стандартная Joomla, а в конце нужно выбрать установку нужной базы данных. Тем на форуме навалом
В том то и проблема, что при установке пишет что версия PHP не соответствует нужной и установка прекращается. В Joomla 3.3 PHP 5.3.10 а у хостера 5.3.3. И поставиться может Joomla только 3.2.7
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Разбирайтесь с хостером. Тема так же ни раз и ни два обсуждалась.
*

IkiZ

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Разбирайтесь с хостером. Тема так же ни раз и ни два обсуждалась.
Говороят что скоро обновят, щас нет технической возможности, я просто не понимаю в чем проблема. Для этого нужно какоето дополнительное оборудование?
А по существу, что никак не установить демо с даунгрейдом Joomla?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Говороят что скоро обновят, щас нет технической возможности, я просто не понимаю в чем проблема. Для этого нужно какоето дополнительное оборудование?
Просто на хостере кроме вас ещё множество сайтов. И некоторые могут не работать на новых версиях php. Так что можно ждать обновления до Второго Пришествия. Но лучше всё же внимательно выбирать хостера.
А по существу, что никак не установить демо с даунгрейдом Joomla?
Выше уже написали неоднократно: никаких демо в отдельном виде не существует, только на уже установленной Joomla разработчика шаблона. Если Joomla не ставится, то «выдернуть» оттуда данные никак не получится.
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
Расширения (в т.ч. и шаблоны) устанавливаются либо через менеджер расширений либо "напрямую" - этот вариант Вам подходит.
Папку с нужным  шаблоном (находится в каталоге templates) копируете на хост в каталог templates. Дальше в  Менеджере расширений нажимаете найти (для примера я ищу папку с шаблоном protostar) после нажимаем Установить.
Должно сработать.
http://bit.ly/1wSKwiL
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
ПС
Перед этим Демо развернуть на локалке ;)
*

IkiZ

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Попробовал. Установился только шаблон без демо данных и плагинов.
Может не так что сделал?
1. Установил Joomla без демо данных (нужно ли было устанавливать с демо данными? Ведь там нет демо нужного мне шаблона).
2. На ПК распаковал квикстарт и отправил на хост, содержимое шаблона с квикстарта.
3. По вашей инструкции установил шаблон. Но он пустой вообще.
Что значит развернуть на локалке? Мне надо было сначала установить этот шаблон на ПК?
А если на ПК взять и скопировать все папки и файлы с заменой из чистой Joomla в нужный квикстарт?
« Последнее редактирование: 22.12.2014, 09:32:47 от IkiZ »
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 118 / 9
ShfVD, зачем путаете человека, ему не нужен пустой шаблон.
IkiZ, все не так. Делайте как я сказал выше, просто устанавливайте квик-старт нужного шаблона
*

IkiZ

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
ShfVD, зачем путаете человека, ему не нужен пустой шаблон.
IkiZ, все не так. Делайте как я сказал выше, просто устанавливайте квик-старт нужного шаблона
Да я бы с удовольствием, только не устанавливается он. В квикстарте Joomla 3.3 а она не ставиться, мне нужна 3.2
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
а какая хрен разница, 3,3 или 3,2? не ставится - значит что-то не так делаете, или не то ставите. или вы даете более конкретные данные, что где не так, с подробным описанием ваших последовательных действий, выводом ошибок и прочего, что попросят, или вам на тнт - экстрасенсы сейчас там прописаны.
*

IkiZ

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
а какая хрен разница, 3,3 или 3,2? не ставится - значит что-то не так делаете, или не то ставите. или вы даете более конкретные данные, что где не так, с подробным описанием ваших последовательных действий, выводом ошибок и прочего, что попросят, или вам на тнт - экстрасенсы сейчас там прописаны.
Хрен разница в версии PHP! Я уже писал это выше. у меня хостер не поддерживает версию PHP для Joomla 3.3
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Для J3.3 версия пыха должна быть 5,3,10 минимум. Что это за хостер, что не может пых обновить? А версии 5,4 или 5,5 доступны?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
ShfVD, зачем путаете человека, ему не нужен пустой шаблон.
Да он в целом верно написал. В общем, подробный мануал:
1. На хостинге ставите чистую новую Joomla с офф.сайта. Демо-данные не ставите никакие.
2. Ставите поочерёдно все модули и плагины, что идут с шаблоном.
3. На локалхосте ставите квикстартовскую Joomla со всеми предустановленными демо-данными и настройками.
4. Открываете параллельно оба сайта и вручную создаёте все демки, поглядывая на те, что у вас на локале. На всё про всё — час, максимум два работы.
*

IkiZ

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Для J3.3 версия пыха должна быть 5,3,10 минимум. Что это за хостер, что не может пых обновить? А версии 5,4 или 5,5 доступны?
Обещают в начале года обновить. наверное не доступны.
*

IkiZ

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Да он в целом верно написал. В общем, подробный мануал:
1. На хостинге ставите чистую новую Joomla с офф.сайта. Демо-данные не ставите никакие.
2. Ставите поочерёдно все модули и плагины, что идут с шаблоном.
3. На локалхосте ставите квикстартовскую Joomla со всеми предустановленными демо-данными и настройками.
4. Открываете параллельно оба сайта и вручную создаёте все демки, поглядывая на те, что у вас на локале. На всё про всё — час, максимум два работы.
Спасибо за подробную инструкцию. Буду пробовать.
Попробовал скопировать на ПК чситую Joomla в квикстарт с заменой всех одинковых файлов. Joomla с демкой на хост установилась вроде нормально, только при попытке обновления Joomla пишет что у меня установлена самая последняя версия J3.2.7, а не 3.3.6. Значит что то прошло не так я думаю.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Различные условия в шаблонах Joomla 3.0 и 2.5

Автор Fedor Vlasenko

Ответов: 133
Просмотров: 27789
Последний ответ 16.12.2024, 15:52:14
от goga_pgasovav
Почему обновление шаблона ломает шаблон?

Автор gorbi_U

Ответов: 8
Просмотров: 2815
Последний ответ 03.05.2023, 22:54:19
от SmiP
Шаблоны Joomlart, Gavick, Yootheme, RocketTheme для Joomla: легально и с обновлениями, no warez

Автор _ib_

Ответов: 168
Просмотров: 204123
Последний ответ 15.04.2023, 18:26:50
от AS1969
Xelix Ultimate редактирование шаблона

Автор Darov

Ответов: 42
Просмотров: 6732
Последний ответ 20.03.2023, 12:16:59
от marksetter
Установка шаблона или быстрого старта qnap

Автор weser

Ответов: 12
Просмотров: 2654
Последний ответ 09.02.2023, 17:16:58
от weser