Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

RAZORG1991

  • Захожу иногда
  • 349
  • 6 / 0
Допустим я хочу вынести в этот отдельный файл настройки шаблона. Как его правильно подключить через файл index.php. Нет я знаю что это делается обычным include, но  как это правильно осуществить в Joomla? Ну там с безопасностью (типа первая строчка файла index.php) ну и всякие джумловские команды нужно ли писать в этот файл?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
настройки шаблона задаются в templateDetails.xml (в корне шаблона) и не надо ничего подключать
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
// No direct access.
defined('_JEXEC') or die;
Защита от прямого доступа
И для настроек есть же файл templatedDetails.xml
чем его вам не хватает
Не делайте из шаблона паровоз. Не нужны там лишние классы и всякая неприятность. Это шаблон и не более. Не смотрите на фреймворки. Все должно быть просто и элементарно
Пример, начало кода шаблона
Код: php-brief
<?php
/**
 * @package   Joomla.Led template
 * @file    index.php
 * @copyright Copyright (C) 2005 - 2013 Fregate Studio. All rights reserved.
 * @license   GNU General Public License version 2 or later; see LICENSE.txt
 * @autor Fedor Vlasenko
 * @date: 22.02.13
 */

// No direct access.
defined('_JEXEC') or die;

//Убираем метатег
unset ($this->_metaTags['http-equiv']);

// Убираем мета тег генератор
$this->setGenerator(NULL);

// Язык сайта
$lang = $this->getLanguage();

// Проверка на главную
$home =(JURI::getInstance()->toString()==JURI::base());

//Путь к шаблону
$tmpPath = '/templates/' . $this->template;

$app = JFactory::getApplication();
//Имя сайта
$nameSite = $app->getCfg('sitename');

//CSS-класс страницы
$activeMenu = $app->getMenu()->getActive();
$pageclass = $activeMenu ? $activeMenu->params->get('pageclass_sfx', 'default'): 'default';

//Гость
$guest = JFactory::getUser()->guest;

//Параметры в массив
$params=$this->params->toArray();

//Отключаем глючный canonical
unset($this->_links[array_search(
    array('relation' => 'canonical', 'relType' => 'rel', 'attribs' => array()), $this->_links)]);


// Included CSS Files
$this->addStyleSheet($tmpPath . '/css/templates.css');
?>
<!DOCTYPE html>
SmokerMan опередил
*

fbr

  • Завсегдатай
  • 1684
  • 210 / 7
в index.php

Код: php
include __DIR__ . '/template.php';

в файле template.php можете создавать условия, обрабатывать настройки и т.п..
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
ТС, скорее всего и хотел вынести все условия и проверку свойств в отдельный файл, оставив только разметку.
Вот пример подобного подхода - вынос логики в отдельный файл
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

RAZORG1991

  • Захожу иногда
  • 349
  • 6 / 0
Да все верно настройки задаются в файле дэтаилс, но я просто хочу вынести отдельные стили (вернее только нужные цвета и размеры) в теге <style> в отдельном php файле, и все php переменные с параметрами для файла дэтаилс, для настройки стилизации шаблона из админки Joomla. Все это нужно вынести в отдельный php файл, чтобы не нагромождать index.php

Вот это походу то что я хотел

в index.php

Код: php
include __DIR__ . '/template.php';

в файле template.php можете создавать условия, обрабатывать настройки и т.п..

А в самом файле template.php нужно писать
Код
defined('_JEXEC') or die;
или другие Joomla команды?
« Последнее редактирование: 16.08.2013, 18:01:39 от RAZORG1991 »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
и какой в этом смысл затрачивать время на подключение файла
и не $doc класс уже объявлен $this в шаблоне.  $this->addScript(); $this->addStyleSheet(); $this->setMetaData();
отключение скриптов плагином переопределяя класс Отключить Mootols, Jquery и Bootstrap в Joomla 3
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Цитировать
(вернее только нужные цвета и размеры) в теге <style>
вот теперь просвечиваются ваши мысли, задачи
стили выносите в отдельный файл CSS и подключаете  $this->addStyleSheet('myfile.css'); исходя из заданных условий.
Может придется написать несколько таких файлов под различные задачи
Правда и сам раньше грешил. Подсовывал php файл как CSS, при этом сжимая его $this->addStyleSheet('myfile.php');
Код: php-brief
<?php
header('Content-type: text/css; charset: UTF-8');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 2592000). ' GMT');
header("Content-Encoding: gzip");
header('Last-Modified: '.gmdate('D, d M Y H:i:s',filemtime(__FILE__)).' GMT');
$params = JFactory::getApplication()->getTemplate(true)->params->toArray();
//А дальше CSS. Можно вперемешку с php
?>
.main{width:<?php echo $params['mainwidth'] ;?>px;}
*

RAZORG1991

  • Захожу иногда
  • 349
  • 6 / 0
вот теперь просвечиваются ваши мысли, задачи
стили выносите в отдельный файл CSS и подключаете  $this->addStyleSheet('myfile.css'); исходя из заданных условий.
Может придется написать несколько таких файлов под различные задачи
Правда и сам раньше грешил. Подсовывал php файл как CSS, при этом сжимая его $this->addStyleSheet('myfile.php');
Код: php-brief
<?php
header('Content-type: text/css; charset: UTF-8');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 2592000). ' GMT');
header("Content-Encoding: gzip");
header('Last-Modified: '.gmdate('D, d M Y H:i:s',filemtime(__FILE__)).' GMT');
$params = JFactory::getApplication()->getTemplate(true)->params->toArray();
//А дальше CSS. Можно вперемешку с php
?>
.main{width:<?php echo $params['mainwidth'] ;?>px;}

Я уже рассматривал такой варант, как предлагаете Вы, но так придется писать несколько вариантов "тем", скажем так, что увеличивает работу. А я хочу чтобы размеры и цвета, можно было менять непосредственно из настроек шаблона в админке, для большей гибкости шаблона
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
почему несколько? как раз в этом варианте я и привел вариант использования параметров, в примере ширина, что вам мешает аналогично использовать цвет. Разберитесь внимательно с примером
*

RAZORG1991

  • Захожу иногда
  • 349
  • 6 / 0
почему несколько? как раз в этом варианте я и привел вариант использования параметров, в примере ширина, что вам мешает аналогично использовать цвет. Разберитесь внимательно с примером

Что-то я не совсем понял, вот весь этот код, который Вы привели выше, его что прямо в CSS файле можно писать? Или Вы имели ввиду в том же index.php, тогда где тег <style> в котором должно быть
Код
.main{width:<?php echo $params['mainwidth'] ;?>px;}
и т.д.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Цитировать
его что прямо в CSS файле можно писать
это файл myfile.php из примера, подменой заголовка я отдаю браузеру его как CSS файл
а подключать также как файл стилей CSS в шаблоне index.php
Код: php-brief
$this->addStyleSheet('myfile.php');
в итоге вы получите:
 <link rel="stylesheet" href="/ваш путь/myfile.php" type="text/css" />
единственно могут быть проблемы с строкой
Код: php-brief
header("Content-Encoding: gzip");
тогда удалите ее
*

fbr

  • Завсегдатай
  • 1684
  • 210 / 7
.. я просто хочу вынести отдельные стили (вернее только нужные цвета и размеры) в теге <style> в отдельном php файле, и все php переменные с параметрами для файла дэтаилс, для настройки стилизации шаблона из админки Joomla. Все это нужно вынести в отдельный php файл, чтобы не нагромождать index.php
На мой взгляд, подход верный
Гораздо удобнее манипулировать подключением стилей и даже блоками html-кода из настроечного файла.
Но только на стадии разработки шаблона.

Я обычно, после того как настройки выбраны, прописываю значения параметров напрямую в index.php, а настроечный файл отключаю.
*

RAZORG1991

  • Захожу иногда
  • 349
  • 6 / 0
это файл myfile.php из примера, подменой заголовка я отдаю браузеру его как CSS файл
а подключать также как файл стилей CSS в шаблоне index.php
Код: php-brief
$this->addStyleSheet('myfile.php');
в итоге вы получите:
 <link rel="stylesheet" href="/ваш путь/myfile.php" type="text/css" />
единственно могут быть проблемы с строкой
Код: php-brief
header("Content-Encoding: gzip");
тогда удалите ее

Ого)))) Видимо я еще не сталько профи, чтобы знать такое))) Но мне кажется что мой вариант как-то попроще, по крайней мере для меня)))

Ну раз пошла тогда такая "пьянка" ^-^  Никто случайно не подскажет можно ли через в шаблоне создавать свои типы полей в настройках самого шаблона.
Допустим как это делается в модулях я уже изучил (к примеру как прикручивать еще и файлы js если таковы нужны). Нужно создать папку admin->elements в папке с модулем, создать файл php с именем нового поля (в примере asset) в нем, и занести в него, к примеру, вот такой код:

Код
<?php
defined('JPATH_BASE') or die;
jimport('joomla.form.formfield');
 
class JFormFieldAsset extends JFormField {
        protected $type = 'asset';
        protected function getInput() {
                $doc = JFactory::getDocument();
                $doc->addStyleSheet(JURI::root().$this->element['path'].'файл_стилей.css');
                $doc->addScript(JURI::root().$this->element['path'].'файл_скрипта.js');
                return null;
        }
}
?>

Также вкинуть в папку название_модуля->admin все необходимые js и CSS файлы
И в XML файле прописать
Код
 <field type="asset" path="modules/mod_модуль/admin/" />

А что если повторить данную схему в шаблоне? Т.е. прописать скажем
Код
field type="asset" path="templates/название_шаблона/admin/" />
и в папке с шаблоном прописать такую же структуру

Будет ли работать данная схема? Сколько не рылся в инете ничего не нашел по этому поводу. Ув. форумчане помогите "добить" уже эту тему пожалуйста, очень нужно!
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Цитировать
Ну раз пошла тогда такая "пьянка" Smiley
Код
 <field type="asset" path="modules/mod_модуль/admin/" />
такое правило нигде не будет работать
если нужно создать свое поле, то путь к ним прописывается в
Код
<fieldset name="Some-Name" addfieldpath="Some path to fields"><field...>...
где в "Some path to fields" прописывается путь для своих типов

Свои типы полей работают везде, вне зависимости от типа расширения. Шаблон - это один из типов расширения
*

RAZORG1991

  • Захожу иногда
  • 349
  • 6 / 0
Код
 <field type="asset" path="modules/mod_модуль/admin/" />
такое правило нигде не будет работать
если нужно создать свое поле, то путь к ним прописывается в
Код
<fieldset name="Some-Name" addfieldpath="Some path to fields"><field...>...
где в "Some path to fields" прописывается путь для своих типов

Свои типы полей работают везде, вне зависимости от типа расширения. Шаблон - это один из типов расширения

А есть какая-то правильная структура папок (и их наименование) и их вложенность в расширение для правильной работы?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
А есть какая-то правильная структура папок (и их наименование) и их вложенность в расширение для правильной работы?
Ну тут структура папок не важна, т.к. указывается полный путь к типам
Здесь самое главное правильно именовать сами файлы
Например
Код
...
<fieldset name="Some-Name" addfieldpath="modules/mod_модуль/fields/">
<field name="Some-Name" type="mytype" />
</fieldset>
...

В директории "modules/mod_модуль/fields/" должен лежать файл mytype.php c описанием типа
Код
<?php
defined('JPATH_BASE') or die;
jimport('joomla.form.formfield');

class JFormFieldMytype extends JFormField {
        protected $type = 'mytype';
...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

На локал сервере страницы сайта без шаблона, CSS и картинок

Автор Fati

Ответов: 0
Просмотров: 850
Последний ответ 15.06.2025, 11:57:45
от Fati
Изменение шаблона Joomla! 2.5.24

Автор SecondPC

Ответов: 0
Просмотров: 4429
Последний ответ 26.03.2021, 18:09:33
от SecondPC
Руководство - создание шаблона для Joomla 2.5

Автор dynamit

Ответов: 6
Просмотров: 31271
Последний ответ 02.02.2020, 22:28:15
от AlinaBut
Ошибка при установке шаблона - Fatal error: Call to a member function setDebug() on a non-object in

Автор Mirotvoretz

Ответов: 33
Просмотров: 69386
Последний ответ 11.11.2018, 13:22:26
от vik38
При установки шаблона ошибка <<HTTP 500 (Internal Server Error)>>

Автор nekitko

Ответов: 16
Просмотров: 16954
Последний ответ 21.06.2017, 20:39:11
от bonny