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

Polosatyi

  • Захожу иногда
  • 114
  • 3 / 0
На странице краткого вывода списка объявлений в режиме List и странице вывода результатов поиска объявлений у меня отображаются ссылки "Новое объявление", "Все объявления", "Мой профиль", "Мои объявления"  даже для не зарегистрированных пользователей.



Как мо;но сделать, чтобы эти ссылки отображались только для вошедших на сайт зарегистрированных пользователей?

В файле default.php  за вывод этих ссылок отвечает вот этот код:

<?php  $this->general->showGeneralLink()  ?>
*

Polosatyi

  • Захожу иногда
  • 114
  • 3 / 0
На странице подробного вида объявления в этом де месте появляются ссылки "Обновить" и "Удалить", и вот они показываются только зарегистрированным пользователям, причем для каждого пользователя эти ссылки появляются только на тех объявлениях, которые создали именно эти пользователи.

Код который выводит эти ссылки вот такой:

<div class="span4">
            <?php
                echo '<div class="text-right">';
                if ($this->content->userid != 0 && $this->userid == $this->content->userid)   {
            ?>
            <div>
            <?php
               $target = TRoute::_("index.php?option=com_adsmanager&task=write&catid=".$this->content->category."&id=".$this->content->id);
               echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
               echo "&nbsp;";
               $target = TRoute::_("index.php?option=com_adsmanager&task=delete&catid=".$this->content->category."&id=".$this->content->id);
               echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
            ?>
            </div>


Может как-то по аналогии можно замутить и со ссылками "Новое объявление", "Все объявления", "Мой профиль", "Мои объявления" ? Я в ПХП не сильно шарю, подскажите пожалуйста кто шарит...
*

Ishti39

  • Захожу иногда
  • 152
  • 8 / 1
в админке>>>в компоненте AdsManager>>>в конфигурации>>>вкладка:Показать>>>в строке:Показать верхнее меню> ставите> Нет.Сохраняете и радуетесь проделанной работе  ^-^
*

Polosatyi

  • Захожу иногда
  • 114
  • 3 / 0
в админке>>>в компоненте AdsManager>>>в конфигурации>>>вкладка:Показать>>>в строке:Показать верхнее меню> ставите> Нет.Сохраняете и радуетесь проделанной работе  ^-^

Эмм...спасибо, и правда не заметил этот пункт)  Только проблема - теперь это меню не показывается даже если на сайт входит зарегистрированный пользователь.
Получается у зарегистрированных пользователей теперь нет возможности добавлять объявления с фронтэнда? Только с бэкэкнда? Как же быть?
*

Polosatyi

  • Захожу иногда
  • 114
  • 3 / 0
Понял, надо создавать отдельный модуль меню типа Adsmsnsger и выставить для него права только для Registered, а верхнее меню отключить нахрен)

Спасибо!
*

ksusha

  • Захожу иногда
  • 60
  • 1 / 0
Цитировать
Понял, надо создавать отдельный модуль меню типа Adsmsnsger и выставить для него права только для Registered, а верхнее меню отключить нахрен)
А где можно скачать такой модуль?
*

ksusha

  • Захожу иногда
  • 60
  • 1 / 0
Цитировать
в админке>>>в компоненте AdsManager>>>в конфигурации>>>вкладка:Показать>>>в строке:Показать верхнее меню> ставите> Нет.Сохраняете и радуетесь проделанной работе
Скажите, а можно ли эти строчки меню расположить под объявлениями, снизу, если их не отключать в админке?
*

Polosatyi

  • Захожу иногда
  • 114
  • 3 / 0
А где можно скачать такой модуль?

Ксюш, его не надо скачивать, он уже есть у вас в AdsManager. Зайдите в  Менеджер модулей - Создать (добавить) новый модуль - выберите из списка модуль Меню AdsManager.

Скажите, а можно ли эти строчки меню расположить под объявлениями, снизу, если их не отключать в админке?

Конечно можно.  В файле default.php который отвечает за отображение конкретной странички (страничка списка или страничка результатов поиска) просто переместите код который выводит это меню, в самый конец файла, сразу после кода который выводит объявления.
*

ksusha

  • Захожу иногда
  • 60
  • 1 / 0
Polosatyi, спасибо, сделала, как вы сказали, меню теперь отображается внизу и модуль оказывается есть, не заметила его.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 3443
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
Редактировать все объявления

Автор den_ko

Ответов: 32
Просмотров: 11861
Последний ответ 25.11.2021, 10:43:38
от FlexNL
Слетают категории объявления

Автор guardnext

Ответов: 1
Просмотров: 3045
Последний ответ 09.07.2019, 10:10:59
от guardnext
Убрать запятую в конце php AdsManager Joomla

Автор MakGrouman

Ответов: 31
Просмотров: 14437
Последний ответ 27.11.2018, 16:47:20
от khan-alex
AdsManager 3.0.3 и вставка видео в объявление

Автор Tori777

Ответов: 1
Просмотров: 12036
Последний ответ 26.10.2018, 18:07:45
от avtomastersu