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

plorentino

  • Новичок
  • 1
  • 0 / 0
Добрый день, установил Joomla 3.3.3, установка прошла успешно, при попытке загрузить архив с языком русским выдает вот такое сообщение

An error has occurred while processing your request.

You may not be able to visit this page because of:

an out-of-date bookmark/favourite
a mistyped address
a search engine that has an out-of-date listing for this site
you have no access to this page

404 Category not found

Переустанавливал уже 2 раза та же ошибка, также такую ошибку выбивает когда пытаюсь войти в панели в system information

Такая же ошибка при попытке установки любого дополнения, плагина или шаблона

Помогите пожалуйста.

Заранее благодарю.
« Последнее редактирование: 09.08.2014, 22:08:45 от plorentino »
*

tuman

  • Новичок
  • 9
  • 0 / 0
Re: Проблема с установкой языка
« Ответ #1 : 11.04.2016, 16:31:40 »
Установил Joomla5.1 (последней версии). поставил на локальник. Стал ставить языки - скачал с этого форума архив локализации.
Устанавливаю языки, выбираю файл архива, нажимаю Upload&Install
Выдаёт следующие ошибки:

Warning
Warning: Failed to move file!

Error
Archive does not exist
Unable to find install package

Что не так? Как можно вручную поставить локализацию?
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Проблема с установкой языка
« Ответ #2 : 11.04.2016, 16:54:28 »
Установил Joomla5.1 (последней версии).
Меняю квартиру на машину времени!
*

tuman

  • Новичок
  • 9
  • 0 / 0
Re: Проблема с установкой языка
« Ответ #3 : 11.04.2016, 16:57:04 »
Я то же пытался его уговорить - сказал, что всему своё время отошол от компа и исчез.
Joomla 3.5.1
*

tuman

  • Новичок
  • 9
  • 0 / 0
Re: Проблема с установкой языка
« Ответ #4 : 11.04.2016, 17:07:20 »
Ну или хотя бы куда копать подскажите
(крайне желательно на русском)
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: Проблема с установкой языка
« Ответ #5 : 11.04.2016, 17:25:35 »
Ну или хотя бы куда копать подскажите
(крайне желательно на русском)
Там и так все на русском. Устанавливаете Joomla, идёте в менеджер расширений - менеджер языков, находите русский (find language) и устанавливаете. Не нужно никаких отдельных танцев с бубном, скачивания каких то локализаций и прочее. Далее заходите опять в менеджер языков и устанавливаете язык по умолчанию для фронтенда и бакенда, выходите из админки и входите заново, все, язык стоит. Если по прежнему инглиш - Ctrl+F5. Если не помогло - зайдите в профили пользователя, найдите себя и выставите себе язык по умолчанию. Все. Не нужно что то где то скачивать отдельно, в 3.5 все и так прекрасно работает.
« Последнее редактирование: 11.04.2016, 17:28:40 от SeBun »
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

tuman

  • Новичок
  • 9
  • 0 / 0
Re: Проблема с установкой языка
« Ответ #6 : 11.04.2016, 18:20:39 »
Хм, видать я что-то криво скачал.
Это было первым, что я сделал. выдал какую-то ошибку - вроде что-то типа "пакета не существует" помню только not exist в конце. Глянул папку с языками, там только папка en-EN. Посмотрел в скачанном архиве - та же история.
После этого потянулся за бубном

Если не затруднит, можно ссылку на скачку.
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Проблема с установкой языка
« Ответ #7 : 11.04.2016, 18:26:47 »
Никаких ссылок не надо же!!
Цитировать
Русский язык ставится как и прежде - через админку, пока он еще не готов, будет через несколько дней, но большинство переменных переведено еще с ветки 3.4.x поэтому просто ждём новую версию языкового пакета и в админке будет оповещение об этом.

Никаких специальных русских сборок для Joomla нет! Ставьте CMS только с официального сайта Joomla.org!
*

tuman

  • Новичок
  • 9
  • 0 / 0
Re: Проблема с установкой языка
« Ответ #8 : 13.04.2016, 10:17:08 »
Ну тогда снова к вопросу.
Скачивал с этого форума локализацию. Поставить не получилось.

Может кто-то знает, в чём проблема?
Да, чувствую предстоит осваивать английский.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблема с установкой языка
« Ответ #9 : 13.04.2016, 10:24:40 »
А что не получается то?
Я только что ставил Joomla новую, русс к ней.
-Установили J!/
-Закачали пакет(проинсталили)
-Назначили русский по умолчанию
-Вышли с админки, при заходе обратно выбрали Русский, когда пишете логин и пароль.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

tuman

  • Новичок
  • 9
  • 0 / 0
Re: Проблема с установкой языка
« Ответ #10 : 13.04.2016, 10:43:44 »
вот с пунктом 2(проинсталлить пакет) проблемы. - описаны выше. если в кратце - выбираю архив пакета языка, а он не ставится.
пакет качал с этого форума.
качал с Joomla.ru
м.б. надо с Joomla.org?
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Проблема с установкой языка
« Ответ #11 : 13.04.2016, 10:44:44 »
Устанавливаете Joomla, идёте в менеджер расширений - менеджер языков, находите русский (find language) и устанавливаете.
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Проблема с установкой языка
« Ответ #12 : 13.04.2016, 10:45:23 »
Ничего качать не надо!
Тем более с левых сайтов.
Удаляйте всё и делайте с нуля
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблема с установкой языка
« Ответ #13 : 13.04.2016, 11:20:37 »
м.б. надо с Joomla.org?
Нужно! http://joomlacode.org/gf/download/frsrelease/20243/163055/ru-RU_joomla_lang_full_3.5.0v6.zip
Менеджер расширений/установить.
А потом ничего не надо инсталировать где-то дополнительно: зайдите в языки и просто нажмите "звёздочку", сделав его по умолчанию.
Выйдите с админки, укажите внизу в выпадашке ваш язык и нажмите Вход.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

tuman

  • Новичок
  • 9
  • 0 / 0
Re: Проблема с установкой языка
« Ответ #14 : 14.04.2016, 09:58:49 »
Переставил Jooml'у на скачанную с оф.сайта.
Та же проблема.
Может я не там копаю, может это система что-то не позволяет и просто нужно всё это делать из под root'-а?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблема с установкой языка
« Ответ #15 : 14.04.2016, 10:07:37 »
Хотите, я вам щас создам папку у себя на хосте, залью Joomla, создам БД.
Возьмите и проинстальте, как вы делаете и установите русик, а я посмотрю.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

tuman

  • Новичок
  • 9
  • 0 / 0
Re: Проблема с установкой языка
« Ответ #16 : 18.04.2016, 15:31:53 »
О.
да, давайте.
*

tuman

  • Новичок
  • 9
  • 0 / 0
Re: Проблема с установкой языка
« Ответ #17 : 18.04.2016, 15:32:22 »
Было-б замечательно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

HTML модуль

Автор maxoh

Ответов: 2
Просмотров: 1288
Последний ответ 26.07.2016, 12:33:19
от maxoh
Перенесено: Отображение товаров на сайте

Автор b2z

Ответов: 0
Просмотров: 1385
Последний ответ 20.12.2015, 13:13:08
от b2z
Проблемы с локализацией на сайте

Автор hppdvlpr

Ответов: 1
Просмотров: 1541
Последний ответ 10.09.2015, 17:04:17
от SeBun
Изменить url сайта

Автор 84vio

Ответов: 1
Просмотров: 1669
Последний ответ 22.03.2014, 12:25:21
от 84vio