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

urika

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Здравствуйте!
После смены хостинга и доменного имени сайта, возникла проблема. При выборе пункта меню Новости, возникает ошибка. Подскажите, какие могут быть способы решения проблемы? Сами новости я могу создавать и редактировать в админ. панели Joomla. Все новости также можно найти в Карте сайта. Получается, не работает именно пункт Новости.
Ошибка вот такая:
вверху страницы надпись: You should not remove all the links coming with this free template. This is against the terms of use. If you want to use the template, please download it again.
На самой странице: Вы не авторизованы для просмотра этого ресурса.
А внизу страницы Новостей: Notice: Use of undefined constant RIGHTCOLUMN - assumed 'RIGHTCOLUMN' in /home/.../templates/Lugansk_Military_Lyceum/index.php on line 54
USER MENU
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

urika

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Переносила сначала сама, используя видеоурок и инстурукции в инете. Архивировала сайт, переносила базу данных, изменяла файл configuration.php. После переноса у меня не отображалось боковое меню. Т.е. в админ. панели всё было ок, а на сайте пунктов меню не было. После этого я решила, что что-то не то делаю и обратилась в тех. поддержку, чтобы они мне всё перенесли. Сначала у них тоже не отображалось боковое меню. Но, они поменяли версию PHP на 5.2, после чего заработало боковое меню, но сломался раздел “новости”. После этого они еще помучались с разделом "Новости" и отписались мне, что "К сожалению, мы вряд ли сможем вам помочь с решением данной проблемы. Для ее решения необходимо модифицировать код сайта, а мы не являемся веб-программистами."
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Ой.. Версия 1.5 же.
Да, этот динозавр уже считается ископаемым. ТС, обновлять вам сайт нужно. Минимум до 2.5. Тогда и работать все будет. Но и 2.5 устарел давно, аккурат два года назад. Хотя, если у вас там нет лишних компонентов, то сгодиться.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

urika

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Да, этот динозавр уже считается ископаемым. ТС, обновлять вам сайт нужно. Минимум до 2.5. Тогда и работать все будет. Но и 2.5 устарел давно, аккурат два года назад. Хотя, если у вас там нет лишних компонентов, то сгодиться.
А может всё-таки есть какой-то другой способ решения проблемы, чтобы не обновлять "моего динозавра"?)
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

urika

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Есть. Но так не скажешь, надо смотреть логи..
Как бы вам их показать? эти логи...
Можно ли будет что-то понять по файлу PHP_errors.log?
« Последнее редактирование: 26.09.2016, 00:18:39 от urika »
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Как бы вам их показать? эти логи...
Можно ли будет что-то понять по файлу PHP_errors.log?
Мне не надо.
По каждой ошибке - ищите, устраняйте или в коммерческий раздел.
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Есть. Но так не скажешь, надо смотреть логи..
Он имел ввиду, что если не желаете обновлять свой сайт, то нужно скрупулезно делать аудит, искать и устранять уязвимости и так далее. Эта версия движка не работает с последними релизами PHP, ее нужно ставить на хостинг с поддержкой старых версий или переделывать для работы с новой. Кроме того, для нее уже не выпускается расширений, и никто не занимается обновлением ранее выпущенных компонентов. Поэтому безопасность крайне низкая. Вопросы по аудиту и устранению уязвимостей решаются на коммерческой основе, т.к. нужно смотреть ваши файлы, проверять. Поэтому дилема - либо забейте, либо готовьтесь вкладывать в него.   
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

urika

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Он имел ввиду, что если не желаете обновлять свой сайт, то нужно скрупулезно делать аудит, искать и устранять уязвимости и так далее. Эта версия движка не работает с последними релизами PHP, ее нужно ставить на хостинг с поддержкой старых версий или переделывать для работы с новой. Кроме того, для нее уже не выпускается расширений, и никто не занимается обновлением ранее выпущенных компонентов. Поэтому безопасность крайне низкая. Вопросы по аудиту и устранению уязвимостей решаются на коммерческой основе, т.к. нужно смотреть ваши файлы, проверять. Поэтому дилема - либо забейте, либо готовьтесь вкладывать в него.   
Спасибо большое! Вы очень доходчиво всё объяснили.
*

i.creative

  • Осваиваюсь на форуме
  • 36
  • 3 / 0
Как бы вам их показать? эти логи...
Можно ли будет что-то понять по файлу PHP_errors.log?

Да ладно, не слушайте тех кто посылает сразу в комм. раздел, тут есть люди, которые имеют опыт и могут подсказать бесплатно.
У меня на сопровождении есть сайты на Joomla 1.5 и они работают отлично с последними версиями php.
Если еще есть вопросы по вашему сайту - скиньте ссылку и я помогу.
*

urika

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Да ладно, не слушайте тех кто посылает сразу в комм. раздел, тут есть люди, которые имеют опыт и могут подсказать бесплатно.
У меня на сопровождении есть сайты на Joomla 1.5 и они работают отлично с последними версиями php.
Если еще есть вопросы по вашему сайту - скиньте ссылку и я помогу.
Спасибо Вам огромное! К сожалению проблемы есть и пока мне никто не смог помочь(
Вот мой сайт на новом хостинге lugakadet.ru
Пункт Новости не отображается вообще. А пункт Концепция корпуса с ужасными предупреждениями.
Эти два пункты имеют Категорию/Блог. А все остальные - обычные материалы.
« Последнее редактирование: 26.09.2016, 21:50:15 от urika »
*

i.creative

  • Осваиваюсь на форуме
  • 36
  • 3 / 0
Тут нужен доступ к шаблону, так как проблемы именно в этом файле на строчке 54
Код
public_html/templates/Lugansk_Military_Lyceum/index.php on line 54 

Нужно смотреть что там такое.
*

urika

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
А как мне поступить? Скинуть Вам файл index.php шаблона?
*

i.creative

  • Осваиваюсь на форуме
  • 36
  • 3 / 0
Скиньте на мыло - у меня в профиле. Хоть я не знаю - получится ли по одному файлу посмотреть, ну хоть как-то что-то можно будет глянуть.
*

urika

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
А у Вас в профиле e-mail скрытый)
*

i.creative

  • Осваиваюсь на форуме
  • 36
  • 3 / 0
А у Вас в профиле e-mail скрытый)

Странно - я вижу свой и всех остальных, ну ладно - может опять форум глючит.. отправил вам на емейл письмо.
*

urika

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
« Последнее редактирование: 26.09.2016, 22:22:40 от urika »
*

urika

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Скиньте на мыло - у меня в профиле. Хоть я не знаю - получится ли по одному файлу посмотреть, ну хоть как-то что-то можно будет глянуть.
Спасибо Вам огромное за советы!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

убрать из меню заголовки h3

Автор nexter

Ответов: 19
Просмотров: 7889
Последний ответ 03.02.2020, 18:49:47
от durte
При добавлении нового пункта меню не отображается содержимое

Автор Denko

Ответов: 2
Просмотров: 3296
Последний ответ 16.01.2020, 18:40:55
от Denko
Не нажимается пункт меню на мобильной версии

Автор Sensession

Ответов: 7
Просмотров: 4797
Последний ответ 04.01.2020, 16:45:27
от xpank
Не отображаются пункты в меню

Автор physic

Ответов: 20
Просмотров: 23005
Последний ответ 20.09.2019, 16:54:01
от beliyadm
Как в ARI Ext Menu добиться работы параметра "Показать в меню"?

Автор vasmed

Ответов: 1
Просмотров: 3543
Последний ответ 01.03.2019, 11:12:18
от vasmed