Новости Joomla

Вышли релизы безопасности Joomla 6.1.4 и Joomla 5.4.9

Релиз безопасности Joomla 6.1.4 и Joomla 5.4.9

Проект Joomla! рад сообщить о выходе Joomla 6.1.4 и Joomla 5.4.9. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

JoomShift - компонент переноса контента между Joomla сайтами.

‍ JoomShift - компонент переноса контента между Joomla сайтами.

JoomShift - компонент переноса контента между Joomla сайтами.Он позволяет экспортировать модули, меню, материалы, категории, пользовательские поля и пользователей в виде переносимых JSON/ZIP-файлов, а затем импортировать их в любую другую установку Joomla.

Возможности компонента:- Модули — полная настройка, назначение пунктов меню, позиционирование и содержимое SP Page Builder.
-Меню — иерархия родительских/дочерних элементов, типы элементов, ссылки, уровни доступа и параметры. Отсутствующие типы меню создаются автоматически, а элементы, указывающие на неустановленные компоненты, пропускаются с предупреждением.
-Статьи и категории — контент, метаданные, изображения и иерархия категорий.
-Пользовательские поля — группы полей, определения, ограничения по категориям и значения (включая поля с несколькими значениями) — экспортируются и автоматически создаются заново на целевом сайте.
-Пользователи — данные профиля, назначения групп и хэши паролей, чтобы учетные записи работали сразу после импорта.
-Кросс-версииJoomla - компонент адаптируется к различиям в схеме базы данных между версиями Joomla.
-Создан для крупных сайтов — постраничные списки (20/50/100/250строк) и автоматический пакетный экспорт для сайтов с более чем 500 элементами, поэтому он продолжает работать на обычном хостинге.
-Опция перезаписи — обновляет совпадающие элементы при повторном импорте вместо создания дубликатов.
-Drag-n-drop импорт с подробным отчетом о том, что было импортировано, обновлено или пропущено, и почему.

На момент написания заметки для скачивания необходима регистрация/логин на сайте разработчика.

-Joomla Extensions Directory-Страница расширения#joomla#расширения

Модуль joomLab JS Ajax Cart позволит организовать в Вашем интернет-магазине на компоненте JoomShopping удобную AJAX корзину с возможностью добавлять товары и изменять их количество без перезагрузки страницы.

Модуль joomLab JS Ajax Cart позволит организовать в Вашем интернет-магазине на компоненте JoomShopping удобную AJAX корзину с возможностью добавлять товары и изменять их количество без перезагрузки страницы.

Кроме этого, в состав пакета установки входит плагин, который позволяет выводить атрибуты товара в список всех товаров, менять эти атрибуты и добавлять товар в корзину из списка товаров. Если атрибутов много, то их можно выводить в всплывающем (модальном окне).

В модуле предусмотрено 2 макета дизайна для Bootstrap и UIkit и максимальная кастомизация для переопределения макетов в шаблон.Демо расширенияСтраница расширения

Видео в Telegram

0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 1350 Просмотров
*

Glorius

  • Новичок
  • 4
  • 0 / 0
Уважаемые формучане, здравствуйте!

Создал поле путем расширения стандартного класса JFormFieldList.
При добавлении поля в XML файл формы, поле отображается без проблем.
В документации по созданию пользовательских полей указано, что если поле не подключено в XML файле формы, то можно использовать следующую конструкцию:
Код
JFormHelper::addFieldPath(JPATH_COMPONENT . '/models/fields');
$proba = JFormHelper::loadFieldType('Proba', false);
$probaOptions = $proba->getOptions();
При попытке вывести поле таким образом вываливается ошибка:

0 Call to a member function xpath() on null

Вываливается на этом месте:
Код
$probaOptions = $proba->getOptions();
Подскажите пожалуйста, что это может значить и в какую сторону рыть?
*

sivers

  • Живу я здесь
  • 2629
  • 363 / 0
Подскажите пожалуйста, что это может значить и в какую сторону рыть?
закоментируйте 3-ю строку и добавьте:
Код
print_r($proba);
exit;
это чтоб убедиться, что у вас там объект не пустой (что очень вероятно).

Если добавляете пользовательское поле (свой тип поля), то у него должна быть реализация (пхп-код). Либо у вас нет реализации, либо там ошибка.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Glorius

  • Новичок
  • 4
  • 0 / 0
Сделал:
Спойлер
[свернуть]
Реализация из документации, ничего не менял практически:
Код
<?php
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');

JFormHelper::loadFieldClass('list');

class JFormFieldProba extends JFormFieldList {

   protected $type = 'Proba';

   public function getOptions() {
       $app = JFactory::getApplication();
       $catid = $app->input->get('catid');
       if ($catid) {
              $db = JFactory::getDbo();
              $query = $db->getQuery(true);
              $query->select('a.title')->from('`#__answer_tt` AS a')->where('a.catid = "'.$catid.'" ');
              $rows = $db->setQuery($query)->loadObjectlist();
              foreach($rows as $row){
                     $oforma[] = $row->title;
              }
              $options = array_merge(parent::getOptions(), $oforma);
       }
       else {
              $options = parent::getOptions();
       }
       return $options;
       }
}
При добавлении поля в XML формы все прекрасно работает
Код
<field 
      name="proba_cat"
      type="Proba"
      label="COM_ANSWER_FORM_LBL_T_PROBA_CAT"
      description="COM_ANSWER_FORM_DESC_T_PROBA_CAT"
      hint="COM_ANSWER_FORM_LBL_T_PROBA_CAT">
            <option value="">---</option>
</field>
*

sivers

  • Живу я здесь
  • 2629
  • 363 / 0
Для начала попробуйте заменить это:
Код
$proba = JFormHelper::loadFieldType('Proba', false);
на это:
Код
$proba = JFormHelper::loadFieldType('Proba', true);

Но не думаю, что что-то существенно изменится. Опции вроде как относятся к конкретному полю и описываются в XML. А вы получаете объект типа поля (т.е. шаблон, а не само поле) и пытаетесь вытянуть из него опции, которых там просто нет.
В родительсом классе getOptions() (который вызывается в случае отсутствия $catid в параметрах) идет обращение к объекту:
Код
$this->element->xpath('option')
отсюда и ошибка.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sivers

  • Живу я здесь
  • 2629
  • 363 / 0
Попробуйте вот такой код:
Код
$form = JForm::getInstance('', JPATH_ROOT.'/путь_к_вашей_форме/имя_формы.xml');
$fieldProbaCat = $form->getField('proba_cat');
$probaOptions = $fieldProbaCat->getOptions();
print_r($probaOptions);
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Glorius

  • Новичок
  • 4
  • 0 / 0
Для начала попробуйте заменить это:
Код
$proba = JFormHelper::loadFieldType('Proba', false);
на это:
Код
$proba = JFormHelper::loadFieldType('Proba', true);
Вы правы, это ничего не меняет.

И в этом вы правы:
... пытаетесь вытянуть из него опции, которых там просто нет.
*

Glorius

  • Новичок
  • 4
  • 0 / 0
Попробуйте вот такой код:
Код
$form = JForm::getInstance('', JPATH_ROOT.'/путь_к_вашей_форме/имя_формы.xml');
$fieldProbaCat = $form->getField('proba_cat');
$probaOptions = $fieldProbaCat->getOptions();
print_r($probaOptions);
Спасибо за подсказку. )
Данный способ работает только в виде, в контроллере выдает ошибку.

Спасибо за наводку в Вашем предыдущем сообщении.
Создал пользовательское поле (не расширение) и все "взлетело" )
Соответственно, используя $proba->getInput(); вместо $proba->getOptions();
*

sivers

  • Живу я здесь
  • 2629
  • 363 / 0
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Странная ошибка

Автор borro

Ответов: 6
Просмотров: 2894
Последний ответ 31.07.2020, 17:19:58
от NewUsers
Динамические поля как параметры пункта меню

Автор platonische

Ответов: 10
Просмотров: 1777
Последний ответ 05.01.2020, 15:45:46
от platonische
Атрибут поля Showon

Автор rkron

Ответов: 4
Просмотров: 1903
Последний ответ 29.01.2019, 20:28:13
от dmitry_stas
Ошибка: 1064 - You have an error in your SQL syntax;

Автор ds30358

Ответов: 4
Просмотров: 1210
Последний ответ 02.12.2017, 19:39:30
от Aleks.Denezh
[РЕШЕНО] Ошибка повторной установки

Автор platonische

Ответов: 17
Просмотров: 2229
Последний ответ 28.11.2017, 13:26:44
от platonische