Полный текст ошибки Joomla:

Warning: session_start(): Failed to read session data: user (path: /var/www/SITE.ru/tmp) in /var/www/SITE.ru/www/libraries/joomla/session/handler/native.php on line 260
Error: Failed to start application: Failed to start the session


Категории: CMS Joomla 3.X, Joomla

Нужно было получить значения полей формы(XML схеме). Например, models/forms/item.xml

Итак, getFieldset модели возвращает объект /libraries/src/Form/FormField.php у которого пачка защищенных методов. А значения нужно получать через магической метод __get, которое в свою очередь вызывает одноименный метод. Т.е. например, $field->title вызывает getTitle().

 
    protected function _getFields()
    {
      $oInput = JFactory::getApplication()->input;
      $data  = $oInput->post->get('jform', array(), 'array');
      $form = $this->getForm($data, false);
      foreach($form->getFieldset('details') as $field)
      {
        echo $field->type. '<br />';
        //echo $field->label. '<br />';
        echo $field->fieldname. '<br />';
        echo $field->title. '<br />';
        echo  '<hr />';
      }


Категории: CMS Joomla 3.X, Joomla

Проблема в том, что если попробовать выдать языковую константу через JText::_ из другого компонента или модуля, то Joomla локализацию не находит.

Для вызова нужно сначала подключить его языковой файл.


Категории: CMS Joomla 3.X, Joomla

Довольна давно столкнулся с проблемой, что ссылки сделанные через JRoute::_ не на страницах самого компонента теряли ЧПУ, т.е. вместо /blog/29 выводятся как /component/blog/29


Решение: нужно добавлять ссылкам Itemid=, равен он должен быть ID пункта меню.

Т.е.: JRoute::_('index.php?option=com_blog&view=item&Itemid=108&id='.$oRow->id);


Категории: PHP, CMS Joomla 3.X, Joomla
Пометки: ЧПУ, cpu, ссылки, links

На сайте под управлением Joomla 3, столкнулся с проблемой - при переходе на несуществующую страницу, вместо кода 404 и соответствующей страницы, выдавалось содержимое главная с кодом 200.


Категории: CMS Joomla 3.X, Joomla

Самый простой вариант, работать с ajax в Joomla, это обратиться к контроллеру компонента.

Пример такого запроса /index.php?option=com_test&task=ajax.method&tmpl=component (Подробнее про &tmpl=component).

При этом сделать это можно как из другого компонента, так и модуля:

 
let response = await fetch("/index.php?option=com_test&task=ajax.method&tmpl=component&id=123");

if (response.ok) {
  let json = await response.json();
} else {
  alert("Ошибка HTTP: " + response.status);
}


Категории: CMS Joomla 3.X, Joomla
Пометки: модель Ajax, Контроллер Ajax запроса в Joomla 3

Пример того, как а Joomla 3 проверить, что пользователь авторизован и к каким группам он относиться.


Пометки: auth, авторизация, права пользователя

Эта заметка пригодиться, если нужно запрашивать на форме, например, в административном разделе сайта на Joomla 3, не только дату, но и время.


Пометки: date time, дата и время

Если нужно не просто убрать пару кнопок из панели управления компонентом Joomls 3, но и добавить свои кнопки или даже выпадающие списки около сохранить то эта заметка для Вас.

pic1


Категории: CMS Joomla 3.X, Joomla
Пометки: Joomla: Добавление своих кнопок в админку компонента

Столкнулся с тем, что у переданного мне сайта долго загружались страницы. Особенно это было заметно при сохранении материалов / постов.

Хотя проблема наблюдалась на движке joomla, но все оказалось намного проще - база данных располагалось на другом хостинге. После ее переноса на сервер с сайтом, все заработало штатно.


Категории: CMS Joomla 3.X, Joomla, -Памятка-
Пометки: Joomla, Joostina
Яндекс.Метрика