Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Пример создания выпадающего списка (<SELECT>) с использованием класса JHTML

Данные для списка будем брать из базы данных.


     
// Получаем объект базы данных
     
$database =& JFactory::getDBO();
     
// Формируем запрос
     
$query "SELECT c.id AS value, c.title AS text FROM #__categories AS c WHERE c.section='com_qcontacts_details'";
     
// Выполняем запрос
     
$database->setQuery($query);
     
// Получаем массив объектов
     
$categorylist $database->loadObjectList();
     
// Создаём первый элемент выпадающего списка (<option value="0">Выберите категорию</option>)
     
$categories[] = JHTML::_('select.option',  '0'"Выберите категорию"'value''text' );
     
// Добавляем массив данных из базы данных
     
$categories array_merge$categories$categorylist);
     
// Получаем выпадающий список
     
$list JHTML::_(
                         
'select.genericlist' /* тип элемента формы */,
                         
$categories /* массив, каждый элемент которого содержит value и текст */
                         
'cid' /* id и name select`a формы */,
                         
'class="inputbox" size="1"' /* другие атрибуты элемента select */
                         
'value' /* название поля в массиве объектов содержащего ключ */,
                         
'text' /* название поля в массиве объектов содержащего значение */,
                         
/* value элемента, который должен быть выбран (selected) по умолчанию */
                      
);
« Последнее редактирование: 31.07.2009, 06:49:46 от Виталик »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Виталик - замечательно, а сможешь описать создания не только SELECt, но и RADIO, multiply select и прочих опций форм с комментариями к каждой строке\переменной\массиву - цены не будет мануалу!
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
последний параметр списка не расписан.
значение по-молчанию, не 0, а NULL(!) ибо этот параметр может быть как числом/текстом, так и массивом совпадающих значений value
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
значение по-молчанию, не 0, а NULL(!) ибо этот параметр может быть как числом/текстом, так и массивом совпадающих значений value
Леш, это просто не очень однозначно написано, там имело в виду не то, что это значение по умолчанию у метода, а то, что это то значение, которое по умолчанию будет выбрано в списке.

p.s. Виталик, вообще респект, плюс я тебе вчера уже выдал. Если сделаешь для остальных элементов, как предложил Петр, я готов выдать еще дополнительные плюсы за каждый элемент :)
*

Mitrich

  • Захожу иногда
  • 289
  • 524 / 13
  • Все можно. Но сначала учиться, учиться и учиться.
« Последнее редактирование: 20.05.2009, 23:21:27 от smart »
*

vmir

  • Осваиваюсь на форуме
  • 17
  • 4 / 0
На сколько мне известно в Joomla есть всякие примочечки в плане расширений класса JHTML. Но вот чего там точно нет, так это CheckBoxа. И раз уж пошла такая маза предлагаю сообществу заценить мою разработку  ^-^

       
Код
function getCheckBox($arr, $name, $attribs = '', $key = 'value', $value = 'text', $selected = null, $separator = ',')
{
if(is_null($arr)) return '';

reset( $arr );
$html = '<div style="padding: 10px 0 10px 0;">';

$id = $name;
$name .= "[]";

$useSel = (!is_null($selected));
if($useSel)
{
if(is_array($selected)) $useSel = count($selected);
else
{
$selected = trim($selected);
$useSel = strlen($selected);
if($useSel)
{
if(strpos($separator, $separator) !== false) $selected = explode($separator, $selected);
else $selected = array($selected);
}
}
}

for ($i=0, $n=count($arr); $i < $n; $i++ )
{
$k = $arr[$i]->$key;
$v = $arr[$i]->$value;
$_id = $id.$i;
$checked = ($useSel && in_array($k, $selected)) ? 'checked' : '';
$html .= '<span '.$attribs.'>';
$html .= '<input type="checkbox" '.$attribs.' name="'.$name.'" id="'.$_id.'" value="'.$k.'" '.$checked.' />'.$v;
$html .= '</span>';
}
return $html.'</div>';
}

Эту функицю я использую в классе helper своего компонента и вызываю ее при необходимости для разных видов.
Краткое описание параметров:
1) $arr - массив объектов с данными на основе которых строится чекбокс (получается как правило при запросе к БД с помощью метода $db->loadObjectList())
2) $name - имя чекбокса в html-коде <input type="checkbox" name="'.$name.'">
3) $attribs - атрибуты элемента <input type="checkbox">
4) $key - название ключа для объекта из массива $arr
5) $value - название значения для объекта из массива $arr
6) $selected - это либо массив, либо строка значений (которые разделены с помощью $separator), или одно значение, которые(ое) в чекбоксе будет отмеченно галкой при отображении элемента на сранице
7) $separator - это разделитель для строки $selected в случае, когда она содержит множество значений
*

Mitrich

  • Захожу иногда
  • 289
  • 524 / 13
  • Все можно. Но сначала учиться, учиться и учиться.
$selected я бы передавал как string или как array

и проверял бы на is_array и не вводил бы лишний гемор в виде сепаратора
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
интересно по выпадающему списку - как передать одному из option параметр disable при генерации массива вручную либо же из базы?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
пример:
Код: php
$a = 'abcde';
$arr = array(
JHTML::_('select.option',  '0', JText::_( $a[0] ) ),
JHTML::_('select.option',  '1', JText::_( $a[1] ) ),
JHTML::_('select.option',  '2', JText::_( $a[2] ), 'value', 'text', true ), // <-- set true to disable
JHTML::_('select.option',  '3', JText::_( $a[3] ) ),
JHTML::_('select.option',  '4', JText::_( $a[4] ) )
);
$name = 'checklist';
$attribs = '';
$selected = 3;
$id = 'checklistid';
echo JHTML::_('select.genericlist',  $arr, $name, $attribs, 'value', 'text', (int) $selected, $id );
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Дополнение данной темы для движка 1.0.хх
Встроенной работы с параметром disabled нет. Потому открываем includes/joomla.php, находим функцию function selectList
и после
Код: php
} else {
$extra .= ($k == $selected ? " selected=\"selected\"" : '');
}
дописываем
Код: php
//Add disabled params
$extra2 = '';
$extra2 .= $id ? " id=\"" . $arr[$i]->id . "\"" : '';
if (is_array( $disabled )) {
foreach ($disabled as $obj2) {
$k3 = $obj2->$key;
if ($k == $k3) {
$extra2 .= " disabled=\"disabled\"";
break;
}
}
} else {
$extra2 .= ($k == $disabled ? " disabled=\"disabled\"" : '');
}
//
Далее вместо
Код: php
$html .= "\n\t<option value=\"".$k."\"$extra>" . $t . "</option>";
Пишем
Код: php
$html .= "\n\t<option value=\"".$k."\"$extra.$extra2>" . $t . "</option>";
Далее в нашем скрипте для элемента массива дописываем параметр
Код: php
$arr1[] = mosHTML::makeOption( '2', '22222', disabled );
и добавляем параметр $disabled в mosHTML::selectList
« Последнее редактирование: 20.06.2009, 18:09:24 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Валидация форм средствами Joomla

Автор VETERINAR

Ответов: 29
Просмотров: 38008
Последний ответ 09.10.2013, 15:14:44
от digitalheart
Как написать системный плагин для Joomla 1.5

Автор Sergey2

Ответов: 2
Просмотров: 28306
Последний ответ 23.06.2013, 15:28:38
от l-key
[how to] Красота JHTML, или создание элементов формы с

Автор Professor

Ответов: 11
Просмотров: 23982
Последний ответ 27.12.2012, 18:14:38
от BaR
Плагин рейтинга чего угодно для Joomla 1.5

Автор Obmor

Ответов: 54
Просмотров: 30707
Последний ответ 18.12.2012, 15:01:55
от Raimonds
Как вы "въехали" в создание расширений?

Автор aanvale

Ответов: 4
Просмотров: 2506
Последний ответ 13.10.2012, 21:44:25
от passer