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

Алесксандр

  • Новичок
  • 2
  • 0 / 0
Привет, прошу помощи у людей с прямыми руками)
Имеется шаблон Joomla http://demoseite.ah-68.de/joomla/kleinesschwarzes/
Хочется сделать, чтобы при скроллинге страницы вниз, меню, которое под шапкой, прилипло к верху страницы и осталось там зафиксированным, как на примере:
http://joomla-school.com/sozdanie-shablonov/1499-skroliruyushchee-menyu-na-jquery-dlya-joomla.html


Самому сделать по примеру не получилось - кривые руки :'( . Кто отважится решить мою проблему? Что куда прописать в шаблоне (желательно по пунктам)? Кину сотку на телефон тому, кто поможет !
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Как здесь: http://volskstroylicey.ru/?
Оборачиваете всю строку меню в отдельный <div id="fixedBox"> и прикручиваете js:
Код: javascript
jQuery(document).ready(function($) {

  /* функция кроссбраузерного определения отступа от верха документа к текущей позиции скроллера прокрутки */
  function getScrollTop() {
    var scrOfY = 0;
    if (typeof(window.pageYOffset) == "number") {
      scrOfY = window.pageYOffset;
    } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
      scrOfY = document.body.scrollTop;
    } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
      scrOfY = document.documentElement.scrollTop;
    }
    return scrOfY;
  }

  function fixPaneRefresh(){
    if ($("#fixedBox").length) {
      var top = getScrollTop();
      if (top < 95) {
        $("#fixedBox").css("top",95-top+"px");
        $("#fixedBox").css("box-shadow","none");
      } else {
        $("#fixedBox").css("top","0");
        $("#fixedBox").css("box-shadow","0 9px 27px -14px #000");
      }
    }
  }

  /* пересчитываем отступ при прокрутке экрана */
  $(window).scroll(function() {
    if ($(window).width() < 1024) return;
    fixPaneRefresh();
  });
 
});
Есс-но, размеры у вас будут свои, доп.стили тоже, да и скорее всего потребуется общая доверстка шапки.
Не самый удачный пример, но это первое, что под рукой было.
*

Алесксандр

  • Новичок
  • 2
  • 0 / 0
А можно поподробней что именно где поменять? Я ж говорю, руки кривые у меня( Вот код меню
Код
<!-- Start Topnav -->
    <div id="topnav">
      <div class="topnav-inner">
                <div class="topnav">
          <ul class="nav menusf-menu">
<li class="item-101 current active"><a href="/joomla/kleinesschwarzes/" >Startseite</a></li><li class="item-119 deeper parent"><a href="/joomla/kleinesschwarzes/joomla-nutzen.html" >Joomla! nutzen</a><ul class="nav-child unstyled small"><li class="item-136"> ...............и тд и тп</li></ul></li></ul>

        </div>
                        <!-- Start Search -->
        <div id="search">
          <div class="search">
            <div class="search">
<form action="/joomla/kleinesschwarzes/" method="post" class="form-inline">
<label for="mod-search-searchword" class="element-invisible">Suchen...</label> <input name="searchword" id="mod-search-searchword" maxlength="200"  class="inputbox search-query" type="search" size="20" placeholder="Suchen..." /> <button class="button btn btn-primary" onclick="this.form.searchword.focus();">los geht's</button> <input type="hidden" name="task" value="search" />
<input type="hidden" name="option" value="com_search" />
<input type="hidden" name="Itemid" value="101" />
</form>
</div>

          </div>
        </div>
        <!-- Ende Search -->
              </div>
    </div>
    <!-- Ende Topnav -->

Как мне обернуть всё меню в отдельный "<div id="fixedBox">"? не собъется ли шаблон? как потом в админке управлять этим меню, если оно будет по другому прикручено? Может можно как то в скрипте указать, что надо <div id="topnav"> меню, а не "<div id="fixedBox"> ?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Весь <div id="topnav">. Для новичка не совсем тривиально, попробуйте в скрипте fixedBox поменять на topnav, а дальше смотрите, что да как доверстывать, учите мат.часть.
Не справитесь сами - стучите в скайп, на комм. основе.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Различные условия в шаблонах Joomla 3.0 и 2.5

Автор Fedor Vlasenko

Ответов: 133
Просмотров: 28213
Последний ответ 16.12.2024, 15:52:14
от goga_pgasovav
Двойное меню

Автор cirip

Ответов: 0
Просмотров: 1054
Последний ответ 05.11.2024, 23:19:21
от cirip
Пункт меню Текстовый разделитель ведет на главную страницу

Автор zahar_92

Ответов: 8
Просмотров: 4041
Последний ответ 27.07.2023, 13:37:17
от ei-dos
[РЕШЕНО]Скрыть пункт меню на мобильных устройствах

Автор lexxbry

Ответов: 16
Просмотров: 6705
Последний ответ 23.05.2023, 07:22:49
от geral
Шаблоны Joomlart, Gavick, Yootheme, RocketTheme для Joomla: легально и с обновлениями, no warez

Автор _ib_

Ответов: 168
Просмотров: 204514
Последний ответ 15.04.2023, 18:26:50
от AS1969