Новости Joomla

Astroid обновился до версии 3.3.7!

Astroid обновился до версии 3.3.7!

Astroid — это мощный фреймворк для дизайнеров и разработчиков, позволяющий создавать адаптивные, быстрые и надежные веб-сайты и шаблоны на базе Joomla.

Главное в новой версии:

-   Исправлена загрузка файлов макетов

В предыдущем крупном релизе Astroid 3.3.6 были сделаны важные улучшения:

Основные моменты:

  • Улучшенный UI/UX в ключевых областях конфигурации
  • Повышенная стабильность и согласованность в Layout Builder и Form Builder
  • Исправления ошибок на основе отзывов сообщества
  • Улучшенная обработка визуальных эффектов, границ и шрифтов

Улучшения:

  • Обновленный UX Layout Builder
  • Улучшенный эффект предзагрузчика
  • Улучшенный стиль границ
  • Улучшенный UI/UX вкладки «Layout» в Template Options

Исправления ошибок:

  • Решены проблемы с некорректными динамическими значениями
  • Исправлен Color Transform при прокрутке
  • Устранены проблемы с работой Form Builder в Article Layout и Module Layout Builder
  • Исправлена проблема с созданием ненужных временных файлов при обработке шрифтов

Скачать: https://github.com/templaza/astroid-framework/releases/tag/v3.3.7

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

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

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
Просмотров: 1578
Последний ответ 19.09.2024, 14:50:24
от DeniTornado
Динамическое создание полей в настройках модуля

Автор Makkssimka

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

Автор kreker92

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