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


Категории: CMS Joomla 3.X, Joomla
Пометки: controllers enqueueMessage setRedirect

После авторизации пользователей CMS Joomla 3 перенаправляет пользователя на старину профиля. Обычно же нужно редиректить пользователя на другую страницу.

Дальше будет небольшое деление:

  • Если авторизация идет через модуль, то нужно перейти в его настройки (Расширения - Модули - Вход на сайт )

    pic1

  • Если же авторизация идет через форму на соответствующей странице, то нужная нам настройка находиться в настройках пункта меню.

    Меню - Группа маню - пункт:

    pic1

    pic1


Категории: CMS Joomla 3.X, Joomla
Пометки: joomla 3 "login_redirect_url", джумла редирект после авторизации.

Ссылки в CMS Joomla 3 давно уже не выглядят как /index.php?option=com_name&Itemid=14§ion=items&task=..., но ссылки на самописный компонент легко сделать в виде /blig/10, но часто этого недостаточно.

Ниже покажу как можно сделать настоящие ЧПУ ссылки.


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

При попытке обновить Joomla до 3.10.1 получил предупреждение, что сначала нужно поправить структур БД.

При попытке ее исправить получил ошибку: got error 168 unknown generic error from engine from storage engine


Категории: Web, SQL, CMS Joomla 3.X, Joomla
Пометки: got error 168 unknown generic error from engine from storage engine
MySql #1025 - Ошибка при переименовании (ошибка: 168 "Unknown (generic) error from engine")

После выхода очередного обновления Joomla наотрез не хотела его видеть:

Обновления не найдены Вы используете сервер обновлений "По умолчанию". С данного сервера вы будете получать уведомления о всех обновлениях версии Joomla! 3.x. Если у вас возникли проблемы с установкой обновления, пожалуйста, скачайте пакет обновления на официальной странице загрузки Joomla и воспользуйтесь вкладкой загрузки и обновления. У вас установлена последняя версия Joomla!

pic1


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

 
Warning: Declaration of NameControllerForms::getModel($name = 'form', $prefix = '...') should be compatible with Joomla\CMS\MVC\Controller\BaseController::getModel($name = '', $prefix = '', $config = Array) in /administrator/components/NAME/controllers/forms.php on line 8


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

Полный текст ошибки 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
Яндекс.Метрика