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

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Есть сайт, находится на локальной машине.Работает под денвером.Установил денвер на флешку.Хочу перенести сайт на другой денвер (тот который на флешке).
Но не получается у меня.Как правильно переносить. Если можно подробно.
Помогите.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Как перенести сайт на денвер ?
« Ответ #1 : 11.11.2009, 09:45:29 »
сделай обычны перенос.
ставишь скрипт dumper, сбрасываешь дамп базы, переносишь всю папку www на другой денвер, там создаёшь в phpMyAdmin базу в unicode, снова запускаешь dumper и воосстанавливаешь в неё дамп.
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #3 : 11.11.2009, 09:58:39 »
щас буду пробовать.
А можно немного подробнее про скрипт
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #5 : 11.11.2009, 10:13:42 »
а Joomla создает такую базу данный?
information_schema
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #8 : 11.11.2009, 10:34:50 »
cкопировал dumper, а он мне создал две базы. одна от форума phpbb а вторая начинается с information_schema ...
Делал так . На компе где поставлен денвер.Создал папку dumper туда положил файл, запустил он мне предложил бэкап сделать двух этих баз.
Я попробую сейчас перенести, но чуствую че не заработает.
*

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: Как перенести сайт на денвер ?
« Ответ #9 : 11.11.2009, 10:37:37 »
information_schema не трогайте
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #10 : 11.11.2009, 10:51:36 »
перенес, но требует пароль.
а какой по умолчанию?
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #11 : 11.11.2009, 10:52:31 »
прошел root без пароля
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #12 : 11.11.2009, 10:55:02 »
сейчас когда перенес файлы все на флешку, сделать бэкап и восстановление уже можно с четырьмя базами.
Нету phpbb базы, но есть Joomla   phphmyadmin  mysql  information_schema
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #13 : 11.11.2009, 10:56:33 »
а нет, это у меня при восстановлении выбираются четыре базы, а для восстановления доступны только две.
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #14 : 11.11.2009, 11:16:02 »
через phpmyadmin создал бэкапы остальных баз, теперь пробую mysql базу восстановить пишет такую ошибку
2009.11.11 10:12:05
Возникла ошибка!
Неправильный запрос.
Table 'columns_priv' already exists (256)
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Как перенести сайт на денвер ?
« Ответ #15 : 11.11.2009, 11:22:00 »
ну так надо писать, что ещё сторонний форум есть.
его база отдельная скорее всего и была.
надо скидывать дампером и её, создавать на новом денвере новую одноимённую базу и туда восстанавливать
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #16 : 11.11.2009, 11:31:33 »
в первый раз я подключился к базе форума скорее всего, там пользователь админ был.
Сейчас подключился под root и норм показало базы.
Сделал дамп.сайт грузится.
Все вроде нормально работает, кроме форума.
как его базы правильно перенести??

вот что пишет форум при переходе на него по ссылке с сайта


General Error
SQL ERROR [ mysqli ]

Access denied for user 'admin'@'localhost' (using password: YES) [1045]

An sql error occurred while fetching this page. Please contact an administrator if this problem persists.

форум phpBB3.0.5
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #17 : 11.11.2009, 11:33:20 »
надо скидывать дампером и её, создавать на новом денвере новую одноимённую базу и туда восстанавливать
Вот тут можно подробнее как создать одноименную базу?

ЧЕрез phpmyadmin?
я так понимаю на старом денвере у меня есть две базы  phpbb там пользователи разыне, или все таки у меня одна там база с разными пользователями?
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #18 : 11.11.2009, 11:34:23 »
effrit у тебя есть аська.? скинь в личку, наверно проще в асье дальше решить проблему до конца с базами.
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #19 : 11.11.2009, 11:35:39 »
а вообще там форум тока вчера поставил, может снести его да и заного установить если не получиться? Но больше хочется разобраться с проблемой.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Как перенести сайт на денвер ?
« Ответ #20 : 11.11.2009, 11:58:22 »
по асе службы поддержки консультируют )
как создать базу в phpMyAdmin- это уже запрос для Google, хотя можно и самому догадаться
*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #21 : 11.11.2009, 12:00:47 »
просто база с именем phpbb уже есть, если создать другое имя будет ли форум норм работать??
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Как перенести сайт на денвер ?
« Ответ #22 : 11.11.2009, 12:06:19 »
товарищ.
ты делаешь идеально зеркало сайта. 1 в 1 фактически.
следую простой логике имеем что ВСЕ фалы и ВСЕ базы на старом и новом денвере должны назваться ОДИНАКОВО.
т.е. тебе надо сбросить дампы всех баз СО СТАРОГО денвера и восстановить на НОВОМ.

*

vavo

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Re: Как перенести сайт на денвер ?
« Ответ #23 : 11.11.2009, 12:13:47 »
да. только я момент с пользователями немного не понял, у меня подключился к dumper подключился под пользователем admin и пароль, и просто root. но и там и там была видна phpbb , база
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Как перенести сайт на денвер ?
« Ответ #24 : 11.11.2009, 12:23:21 »
на локальном компе подключение к базе по дефолту и есть root без пароля
а вот если будешь в интерент переносить-там надо будет менять на нормальные логин/пароли
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Восстановить сайт, но на другой адрес

Автор Escander

Ответов: 14
Просмотров: 2767
Последний ответ 02.02.2022, 14:50:07
от draff
Как перенести сайт с сервера на сервер? (с хостинга на локалку и наоборот)

Автор djed9

Ответов: 244
Просмотров: 118914
Последний ответ 06.07.2020, 23:28:32
от SeBun
Как проверить сайт на накрутку просмотров?

Автор mimoza

Ответов: 3
Просмотров: 4175
Последний ответ 17.12.2017, 16:33:43
от zikkuratvk
Разделить сайт на два

Автор Escander

Ответов: 19
Просмотров: 2389
Последний ответ 11.08.2016, 11:01:38
от Escander
Ошибочно нажал Включить SSL и сайт не работает (

Автор serjik

Ответов: 6
Просмотров: 12974
Последний ответ 08.11.2015, 23:27:39
от arfeka