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

rsa_m

  • Захожу иногда
  • 254
  • 22 / 0
Есть компонент типа HelloWorld
и
В нем есть форма в XML вида с combobox
Код
<?xml version="1.0" encoding="utf-8"?>
<form>
<fieldset>
      <field name="id" type="hidden"/>
      <field
         name="color"
         type="combo"
         label="color"
         description="color"
         size="1"
         default=""
      >
      <option value="0">- выбирите цвет -</option>
      </field>
</fieldset>
</form>

Форма как и положено в виде у меня
Код
   public function display($tpl = null)
   {
    ....
       $form = $this->get('Form');
    .....
      $this->form = $form;
    .....

В tmpl в файле edit.php
Код
<form action="index.php"
      method="post" name="adminForm" id="adminForm">
        <fieldset class="adminform">
                <legend><?php echo JText::_( 'COM_MY_DETAILS' ); ?></legend>
                <?php foreach($this->form->getFieldset() as $field): ?>
                        <?php if (!$field->hidden): ?>
                                <?php echo $field->label; ?>
                        <?php endif; ?>
                        <?php echo $field->input; ?>
                <?php endforeach; ?>
        </fieldset>
        <div>
      ......


Вопрос.
1. Как динамически заполнить combobox из формы в каком либо php файле?
Т.е. нужно к примеру добавить в combobox:
<option value="1">Белый</option>
<option value="2">Черный</option>

2. В каком файле это лучше сделать? Подозреваю что в edit.php

3. После выбора элемента в combobox, как вернуть его value и значение?

P.S.: Вероятно что при использовании формы в XML виде эту задачу решить нельзя. Или можно ?
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Делайте тогда свой класс по аналогии с JFormFieldCombo, расширяющий JFormFieldList  и переопределяйте метод getOptions()

Соответственно в XML задаёте свой type, options не задаёте, так как вы их собираетесь получать по-своему.
Не забудьте в XML про addFieldPath
*

rsa_m

  • Захожу иногда
  • 254
  • 22 / 0
Спасибо.

Думал проще можно сделать, но снова увы  :o.
Попробую. Если не получится, то придется генерить через JHTML::_('select.genericlist'....
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Куда уж проще. Половину скопируете с JFormFieldCombo, вторую половину напишете
*

rsa_m

  • Захожу иногда
  • 254
  • 22 / 0
Решено  :D

Значит делаем так:
В XML файле в поле type прописываем свой тип который мы сейчас сделаем:
Код
<form
addrulepath="/administrator/components/com_my/models/rules"
>
....
<field
         name="color"
         type="Color"
         label="Color"
         description="Color"
         size="1"
         default=""
      >

Теперь нужно прописать свой тип.
В models/fields создаем файл color.php
Код
<?php
// No direct access to this file
defined('_JEXEC') or die;
 
// import the list field type
jimport('joomla.form.helper');
jimport('joomla.form.formfield');
JFormHelper::loadFieldClass('list');

class JFormFieldColor extends JFormFieldList
{
   protected $type = 'color';
 
   public function getInput() {
                return '<select id="'.$this->id.'" name="'.$this->name.'">'.
                       '<option value="1" >Белый</option>'.
                       '<option value="2" >Черный</option>'.
                       '</select>';
        }
}

Далее в public function getInput() можем уже прописывать все что угодно что будет нам к примеру брать цвета из переменных или массива.

Если же нужно чтобы combobox заполнялся значениями из базы, как это собственно и нужно было мне, то вместо public function getInput()
пишем другую функцию:
Например для выборки данных в combobox из базы #__color с полями color_id и color
Код
	protected function getOptions() 
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select('color_id,color');
$query->from('#__color');
$db->setQuery((string)$query);
$messages = $db->loadObjectList();
$options = array();
if ($messages)
{
foreach($messages as $message)
{
$options[] = JHtml::_('select.option', $message->color_id, $message->color);
}
}
$options = array_merge(parent::getOptions(), $options);
return $options;
}
« Последнее редактирование: 21.11.2012, 21:16:43 от rsa_m »
*

rsa_m

  • Захожу иногда
  • 254
  • 22 / 0
Кстати на заметку.

В виде после загрузки формы из XML файла, любой атрибут поля формы можно получить так:
Код
$param = $this->form->getFieldAttribute('название_поля','название_атрибута');
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Расширение BA Team - Не удалось найти представление [name, type, prefix]: images

Автор DeniTornado

Ответов: 0
Просмотров: 2881
Последний ответ 19.09.2024, 14:50:24
от DeniTornado
Динамическое создание полей в настройках модуля

Автор Makkssimka

Ответов: 7
Просмотров: 2723
Последний ответ 13.03.2015, 22:15:39
от fbr
Поменять версию jquery из <jdoc:include type="head" />

Автор kreker92

Ответов: 1
Просмотров: 3393
Последний ответ 05.09.2013, 20:57:53
от kreker92