Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+). При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php     // Это файл в /layouts/components/com_component/your_layout.php?><input type="hidden" name="task" value=""><input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"><input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"><?php echo HTMLHelper::_('form.token'); ?>
Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.
// В Controller/View добавляем поля$this->form  ->addControlField('task', '')  ->addControlField('return', $input->getBase64('return', ''))  ->addControlField('forcedLanguage', $forcedLanguage);
А в layout'е просто используем метод
renderControlFields()
// В layout формыecho $this->form->renderControlFields();
Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.Смотреть
Pull Request@joomlafeed#joomla #разработка #php

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

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

profii

  • Захожу иногда
  • 85
  • 1 / 1
Как в сделать так чтобы титле выводился в обратной последовательности?

А именно есть:

Название категории - Название подкатегории - Название самого объявления

а нужно сделать так чтобы титл формировался в обратной последовательности:

Название самого объявления - Название подкатегории - Название категории

Можно ли это поправить в шаблоне, если да, то подскажите где именно?
« Последнее редактирование: 24.08.2009, 12:31:23 от vagkrsk »
*

турист

  • Захожу иногда
  • 160
  • 7 / 0
sh404SEF установи и как твоей душе угодно крути-верти titles ;D
*

profii

  • Захожу иногда
  • 85
  • 1 / 1
sh404SEF уже стоял, но титлы отображались в обратной последовательности только в SOBI2, а в маркетплесе как и было в стандарте так и осталось. Может быть где-то что-то нужно настроить или поставить доп. расширение?
*

vagkrsk

  • Moderator
  • 731
  • 125 / 0
  • Дорогу осилит идущий
sh404SEF уже стоял, но титлы отображались в обратной последовательности только в SOBI2, а в маркетплесе как и было в стандарте так и осталось. Может быть где-то что-то нужно настроить или поставить доп. расширение?

Так получается потому, что нужно установить расширение MarketPlace для sh404SEF
Для SOBI2 идет в стандартной комплектации sh404SEF
*

profii

  • Захожу иногда
  • 85
  • 1 / 1
На счет встроенного SEF я тоже согласен, он проще всего в пользовании. Вся загвоздка заключается в том, что нужно поменять местами растоложение названий категоирй в титле, т.е. в обратной последовательности, что б было, но на сколько я зная этого стандартный SEF сделать не может, а sh404SEF уж больно загонный, вот и пытаюсь выяснить можно ли переставить местами титлы без использования дополнительных SEF, а только имея включенный стандартный.

Можно ли в шаблоне поменять формирование титлов?
*

vagkrsk

  • Moderator
  • 731
  • 125 / 0
  • Дорогу осилит идущий
Решение вопроса "обратных ссылок" - объявление, категория, раздел, доска объявлений

[spoiler title=Решение вопроса]

[spoiler title=Файл show_ad примерные строки 60-73:]
Код
// set page title
if ( $catid > 0) {
        // get category-name: #__marketplace_category
        $database->setQuery ( "SELECT name FROM #__marketplace_categories WHERE published='1' AND id=$catid");
        $tcatname = $database->loadResult ();

        $database->setQuery ( "SELECT ad_headline FROM #__marketplace_ads WHERE published='1' AND id=$adid");
        $tadsubject = $database->loadResult ();

        $mainframe->SetPageTitle ( JOO_TITLE." - " .JOO_CATEGORY." - ".$tcatname." - ".$tadsubject );
}
else {
        $mainframe->SetPageTitle ( JOO_TITLE." - " .JOO_MY_ADS." - ".$tadsubject );
}
[/spoiler]

[spoiler title=Заменить на:]
Код
// set page title
if ( $catid > 0) {
        // get category-name: #__marketplace_category
        $database->setQuery ( "SELECT name FROM #__marketplace_categories WHERE published='1' AND id=$catid");
        $tcatname = $database->loadResult ();

        $database->setQuery ( "SELECT ad_headline FROM #__marketplace_ads WHERE published='1' AND id=$adid");
        $tadsubject = $database->loadResult ();

        $mainframe->SetPageTitle ( $tadsubject." - " .$tcatname." - " .JOO_CATEGORY." - " .JOO_TITLE );
}
else {
        $mainframe->SetPageTitle ( $tadsubject." - " .JOO_MY_ADS." - " .JOO_TITLE );
}
[/spoiler]

[spoiler title=Файл show_category примерные строки 105-138:]
Код
//  get category info and set page title
if ( $catid > 0) {
        // get category-name: #__marketplace_category
        $database->setQuery ( "SELECT id, parent, name, description, image  FROM #__marketplace_categories WHERE published='1' AND id=$catid");
        $rows_categories = $database->loadObjectList ();

        $cat_parent = $rows_categories[0]->parent;
        $cat_name = $rows_categories[0]->name;
        $cat_description   = $rows_categories[0]->description;
        $cat_image = $rows_categories[0]->image;

// get name, description and image of parent
if ( $cat_parent > 0) {
         $database->setQuery ( "SELECT name, description, image  FROM #__marketplace_categories WHERE published='1' AND id=$cat_parent");
         $rows_parents = $database->loadObjectList ();

         $par_name = $rows_parents[0]->name;
         $par_description   = $rows_parents[0]->description;
         $par_image = $rows_parents[0]->image;
}
else { // parent == 0
         $par_name = "";
         $par_description   = "";
         $par_image = "";
}

        $mainframe->SetPageTitle ( JOO_TITLE." - " .$cat_name );
}
else {
        $cat_name = JOO_MY_ADS;
        $cat_description = JOO_MY_ADS_TEXT;
        $cat_image = "default.gif";
        $mainframe->SetPageTitle ( JOO_TITLE." - " .JOO_MY_ADS );
}
[/spoiler]

[spoiler title=Заменить на:]
Код
//  get category info and set page title
if ( $catid > 0) {
        // get category-name: #__marketplace_category
        $database->setQuery ( "SELECT id, parent, name, description, image  FROM #__marketplace_categories WHERE published='1' AND id=$catid");
        $rows_categories = $database->loadObjectList ();

        $cat_parent = $rows_categories[0]->parent;
        $cat_name = $rows_categories[0]->name;
        $cat_description   = $rows_categories[0]->description;
        $cat_image = $rows_categories[0]->image;

// get name, description and image of parent
if ( $cat_parent > 0) {
         $database->setQuery ( "SELECT name, description, image  FROM #__marketplace_categories WHERE published='1' AND id=$cat_parent");
         $rows_parents = $database->loadObjectList ();

         $par_name = $rows_parents[0]->name;
         $par_description   = $rows_parents[0]->description;
         $par_image = $rows_parents[0]->image;
}
else { // parent == 0
         $par_name = "";
         $par_description   = "";
         $par_image = "";
}

        $mainframe->SetPageTitle ( $cat_name." - " .JOO_TITLE );
}
else {
        $cat_name = JOO_MY_ADS;
        $cat_description = JOO_MY_ADS_TEXT;
        $cat_image = "default.gif";
        $mainframe->SetPageTitle ( JOO_MY_ADS." - " .JOO_TITLE );
}
[/spoiler]
[/spoiler]
« Последнее редактирование: 25.08.2009, 08:54:04 от vagkrsk »
*

profii

  • Захожу иногда
  • 85
  • 1 / 1
Вау, клева, попробуем, а то руки не доходили.

Спасибо за такую выкладку!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

MarketPlace 2.3 Как сделать 20 фото?

Автор ravermixer

Ответов: 0
Просмотров: 4231
Последний ответ 10.11.2016, 22:23:10
от ravermixer
Поиск MarketPlace (модули, плагины, боты)

Автор probiz

Ответов: 15
Просмотров: 13745
Последний ответ 18.12.2015, 14:59:11
от Savitar
Как добавить объявление без регистрации? MarketPlace 2.*

Автор coolon

Ответов: 4
Просмотров: 19719
Последний ответ 25.11.2014, 19:50:26
от oreh-lg
Где скачать "MarketPlace" дайте ссылку!

Автор vd25

Ответов: 2
Просмотров: 5940
Последний ответ 12.03.2014, 21:08:22
от vd25
MarketPlace 2.3 как убрать кем опубликовано и дату

Автор zvi

Ответов: 0
Просмотров: 4643
Последний ответ 08.03.2014, 13:07:02
от zvi