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

rubinded

  • Захожу иногда
  • 54
  • 0 / 0
Здравствуйте. Пишу шаблон сайта для Joomla с нуля. Как сделать горизонтальное адаптивное меню разобрался. Но, сейчас нужно сделать левое боковое прячущееся меню (Off-canvas). Оно должно стать основным для сайта. Есть исходник с кодом, но я не могу как не стараюсь внедрить его в шаблон. Ребята уже неделю вишу на одном месте. Помогите пожалуйста. Задача вроде бы как простая, но справится не могу хоть убейте >:(.

Кому не тяжело, гляньте пожалуйста.
Исходник меню тут: http://foundation.zurb.com/sites/docs/v/5.5.3/components/offcanvas.html#

Мой файл index.php такой:
Код
<?php
/**
 * @package     Joomla.Site
 * @subpackage  Templates.protostar
 *
 * @copyright   Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$app             = JFactory::getApplication();
$doc             = JFactory::getDocument();
$user            = JFactory::getUser();
$this->language  = $doc->language;
$this->direction = $doc->direction;

// Getting params from template
$params = $app->getTemplate(true)->params;

// Detecting Active Variables
$option   = $app->input->getCmd('option', '');
$view     = $app->input->getCmd('view', '');
$layout   = $app->input->getCmd('layout', '');
$task     = $app->input->getCmd('task', '');
$itemid   = $app->input->getCmd('Itemid', '');
$sitename = $app->get('sitename');

if($task == "edit" || $layout == "form" )
{
$fullWidth = 1;
}
else
{
$fullWidth = 0;
}

// Add JavaScript Frameworks
$doc->addScript($this->baseurl . '/templates/' . $this->template . '/js/bootstrap.js');

// Add Stylesheets
$doc->addStyleSheet($this->baseurl . '/templates/' . $this->template . '/css/bootstrap.css');
$doc->addStyleSheet($this->baseurl . '/templates/' . $this->template . '/css/style.css');
$doc->addStyleSheet($this->baseurl . '/templates/' . $this->template . '/css/template.css');

// Load optional RTL Bootstrap CSS
JHtml::_('bootstrap.loadCss', false, $this->direction);

// Adjusting content width
if ($this->countModules('position-7') && $this->countModules('position-8'))
{
$span = "span6";
}
elseif ($this->countModules('position-7') && !$this->countModules('position-8'))
{
$span = "span9";
}
elseif (!$this->countModules('position-7') && $this->countModules('position-8'))
{
$span = "span9";
}
else
{
$span = "span12";
}

// Logo file or site title param
if ($this->params->get('logoFile'))
{
$logo = '<img src="' . JUri::root(). $this->params->get('logoFile'). '" alt="' . $sitename . '" />';
}
elseif ($this->params->get('sitetitle'))
{
$logo = '<span class="site-title" title="' . $sitename . '">' . htmlspecialchars($this->params->get('sitetitle')). '</span>';
}
else
{
$logo = '<span class="site-title" title="' . $sitename . '">' . $sitename . '</span>';
}
?>

<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<jdoc:include type="head" />
</head>
<body>
<div class="container" id="main">
<div class="row">
          <div class="col-xs-12 col-md-6 col-md-push-3" style="background:#4876FF;">
<font color="#FFFFFF"; size="5"><b>Полтавский Банк Информации</b></font>
          </div>
          <div class="col-xs-12 col-md-3  col-md-pull-6">
<img src="images/uapoltava.png" alt="Полтавский банк информации" />
</div>
<div class="col-xs-12 col-md-3" id="social">
<a href="http://vk.com/rybalchenkoiv" target="_blank" class="icon-vk"></a>
<a href="" class="icon-facebook2"></a>
<a href="" class="icon-twitter"></a>
<a href="" class="icon-google-plus2"></a>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<jdoc:include type="modules" name="position-5" style="none" />
</div>
<div class="row"></div>
<div class="row"></div>
</div>
</body>
</html>
Не могу понять, что куда прописывать. Подскажите, слезно прошу...

P.S. - Как привязать к модулю меню я знаю. Главное, что бы заработало с ul>, <li> и прочими, я там уже дальше разберусь.
И очень Вас прошу, не давайте советов типа: "пропиши в index.php то и то и будет работать". Я не могу понять что и после чего конкретно нужно прописывать. Кто поможет буду ОЧЕНЬ признателен. Спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Fedor Vlasenko

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

Автор cirip

Ответов: 0
Просмотров: 1052
Последний ответ 05.11.2024, 23:19:21
от cirip
Шаблон jm MyPlace - не воспроизводится видео

Автор THE KILLERS

Ответов: 2
Просмотров: 1558
Последний ответ 23.07.2024, 13:58:16
от THE KILLERS
Пункт меню Текстовый разделитель ведет на главную страницу

Автор zahar_92

Ответов: 8
Просмотров: 4035
Последний ответ 27.07.2023, 13:37:17
от ei-dos
Ошибка при входе в корзину шаблон jmart

Автор dimiur

Ответов: 5
Просмотров: 4363
Последний ответ 24.05.2023, 14:24:30
от Gleb72