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

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Так  пробуй
Код: php-brief
$app = JFactory::getApplication();
if ($app->getName() == 'site') {
$url = JURI::root(). 'cache/' . $cacheFile;
} else {
$url = JURI::root(). 'administrator/cache/' . $cacheFile;
}
return $url;

*

SolopoV

  • Давно я тут
  • 577
  • 16 / 0
  • зеленею...
Спасибо! Помогло. Как вариант, пришлось два файла делать: один для админки, другой для фронта. В общем, это компонент com_jxtceasyimage V1.6.0 файл helper.php, разработчик уверяет, что в новой версии ($14) этот баг исправлен.
*

Sonio

  • Захожу иногда
  • 52
  • 0 / 0
Код: php-brief
// создаем массив с нужными значениями
$arr = Array(101, 102, 105);
// с помощью Jinput получаем значение Itemid текущей страницы
//$Itemid = JFactory::getApplication()->input->getInt('Itemid', 0);
// а лучше встроенных фильтров php
$Itemid = filter_input(INPUT_GET, 'Itemid', FILTER_VALIDATE_INT);
// проверяем находится значение $Itemid в массиве $arr
if(in_array($Itemid, $arr )):
echo 'Да'; // Мы на этой странице
else:
echo 'Нет'; // Itemid страницы не находится  в массиве $arr
endif;

перечислил названия страниц и у меня все время получается второй вариант, т.е. где слово"нет" в примере. что то делаю не так, подскажите пожалуйста.
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Добрый день,
а как скрывать модуль на страницах просмотра элемента zoo?
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Код
array(4) { ["Itemid"]=> string(3) "151" ["option"]=> string(7) "com_zoo" ["task"]=> string(4) "item" ["item_id"]=> int(275) }
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php
function showPage($x = array()){
    return array_intersect_assoc($x,  $_REQUEST) == $x;
}
if(!showPage(array('option'=>'com_zoo'))):?>
На всех страницах кроме компонента  zoo
<?php endif;?>
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Спасибо, только скрывать нужно только в элементах (материалах) - item зуу, а в остальном везде показывать, в том числе и в категории зуу.
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Так?
Код
<?php
function showPage($x = array()){
    return array_intersect_assoc($x,  $_REQUEST) == $x;
}
if(!showPage(array('option'=>'com_zoo')) && !showPage(array('task'=>'item'))):?>
На всех страницах кроме страницы элемента (материала) компонента  zoo
<?php endif;?>

P.S. Сейчас проверил - скрывает и в материалах и в категории, а нужно только в материалах.

P.P.S. А вот так - то, что нужно! Федор, Спасибо!

Код
if(showPage(array('option'=>'com_zoo')) && showPage(array('view'=>'category'))):?>
отображает только в категории зуу.
<?php endif;?>
« Последнее редактирование: 01.03.2015, 19:32:34 от ankoch »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
if(showPage(array('option'=>'com_zoo', 'view'=>'category'))):?>
отображает только в категории зуу.
<?php endif;?>
^-^
*

zigzagrus

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Приветствую уважаемые, помогите гуру, что-то забуксовал на таком моменте. сайт http://забтех.рф/
На главной выводится модуль новостей. Когда щелкаешь по любой новости открывается новость и ниже опять же модуль новостей. в настройках модуля выставлено отображаться только на главной. Не пойму почему не работает. Как составить для этого модуля условие на php чтобы модуль отображался только на главной, и не отображался при переходе на новость?
пример новости http://xn--80acmf1dt.xn--p1ai/77-lasted-news/430-na-baze-tekhnikuma-sostoyalas-stazhirovka-sotsialnykh-pedagogov-po-probleme-vospitaniya-obuchayushchikhsya-gruppy-riska
*

koyot777

  • Захожу иногда
  • 136
  • 1 / 2
  • Не щекочи койота..
Доброго времени суток, есть фотогалерея PhocaGallery на Joomla 2.5.

Есть ссылки на категории галерей пример: http://site/index.php?option=com_phocagallery&view=category&id=9:dacha-v-melnichnoj-padi&Itemid=261

Хотел сделать чтобы по ссылке (проголосовать): http://site/index.php?option=com_phocagallery&view=category&id=9:dacha-v-melnichnoj-padi&tab=0&Itemid=261  публиковался модуль с всплывающей формой

В ссылке после голосования за категорию добавляется после указания категории "&tab=0"

Незнаю как это добавить\прописать в условиях шаблона чтобы публиковался модуль только если у ссылки был этот идентификатор "&tab=0"

Подскажите как правильно это сделать для данного компонента?
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Код: php-brief
if(showPage(array('option'=>'com_zoo', 'view'=>'category'))):?>
отображает только в категории зуу.
<?php endif;?>
^-^
Это где-то в модуле прописывается?
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Подскажите правильно я обернул? работает, но что-то сомневаюсь я что туда всё вставил

Вот позиция
Код
<?php if($this->API->modules('top1')) : ?>
<div id="gkTop1" class="gkCols3<?php if($this->API->modules('top1') == 1) : ?> gkNoMargin<?php endif; ?>">
<jdoc:include type="modules" name="top1" style="<?php echo $this->module_styles['top1']; ?>"  modnum="<?php echo $this->API->modules('top1'); ?>" modcol="3" />
</div>
<?php endif; ?>

Сделал так
Код
<?php
function showPage($x = array()){
    return array_intersect_assoc($x,  $_REQUEST) == $x;
}
if(showPage(array('option'=>'com_zoo')) && showPage(array('view'=>'category'))):?>
<?php if($this->API->modules('top1')) : ?>
<div id="gkTop1" class="gkCols3<?php if($this->API->modules('top1') == 1) : ?> gkNoMargin<?php endif; ?>">
<jdoc:include type="modules" name="top1" style="<?php echo $this->module_styles['top1']; ?>"  modnum="<?php echo $this->API->modules('top1'); ?>" modcol="3" />
</div>
<?php endif; ?>
                  <?php endif;?>
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Блин, так теперь нигде позиция не отображается кроме категорий zoo
« Последнее редактирование: 14.08.2015, 20:22:59 от dimat84 »
*

S2pidsMan

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Здравствуйте. Прошу помощи, сам я в Joomla дуб-дубом)
В общем файл html/article/default.php
Стандартный вывод страницы.

В нем у меня есть код примерно такой:
Код
<header>
       
          <?php if ($params->get('show_title')) : ?>
<h1>
<?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>
<a href="<?php echo $this->item->readmore_link; ?>">
<?php echo $this->escape($this->item->title); ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
<?php endif; ?>
</h1>
<?php endif; ?>
</header>

Ну сейчас он закоментирован, так-как выводится на всех страницах.
То есть код тупо выводит заголовок страницы в нужном оформление.

У меня есть 1 категория, внутри которой, для всех материалов я хочу вывести данный код (заголовок страницы), а для всех остальных материалов данный код должен быть скрыт.
Будьте добры, подскажите пожалуйста, желательно с подробным примером как это реализовать. Данная категория не присвоена ни к какому меню. Существует как просто категория, которая ни где не выведена на сайте.


С меня на пиво.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

S2pidsMan

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
вставьте
Код: php-brief
var_dump($_REQUEST);
и приведите параметры которые выведет

Вот что показывает на странице материала нужной мне категории:
Код
array(12) { ["_ym_uid"]=> string(19) "1450117192699590612" ["_ym_isad"]=> string(1) "1" ["8152309baaf863da1bc32e6506730678"]=> string(32) "8ed6c3d1ddd2ed81db90e50af256d1a1" ["_ga"]=> string(27) "GA1.2.1762532444.1450117192" ["_gat"]=> string(1) "1" ["_ym_visorc_23675446"]=> string(1) "w" ["format"]=> string(4) "html" ["Itemid"]=> string(3) "191" ["option"]=> string(11) "com_content" ["view"]=> string(7) "article" ["catid"]=> int(13) ["id"]=> int(96) }
Вот что показывает на странице нужной мне категории:
Код
array(10) { ["_ym_uid"]=> string(19) "1450117192699590612" ["_ym_isad"]=> string(1) "1" ["8152309baaf863da1bc32e6506730678"]=> string(32) "8ed6c3d1ddd2ed81db90e50af256d1a1" ["_gat"]=> string(1) "1" ["_ga"]=> string(27) "GA1.2.1762532444.1450117192" ["_ym_visorc_23675446"]=> string(1) "w" ["Itemid"]=> string(3) "191" ["option"]=> string(11) "com_content" ["view"]=> string(8) "category" ["id"]=> string(2) "13" }
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
if (showPage(array('option' => 'com_content', 'catid' => 13))
|| showPage(array('option' => 'com_content', 'view' => 'category', 'id' => '13'))):
// здесь условие будет выполнятся для данной категории и материала

endif;
*

S2pidsMan

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Код: php-brief
if (showPage(array('option' => 'com_content', 'catid' => 13))
|| showPage(array('option' => 'com_content', 'view' => 'category', 'id' => '13'))):
// здесь условие будет выполнятся для данной категории и материала

endif;


А разве обработает HTML код индексный файл так? Если я просто вставлю туда свой код? Имею в виду свой код же вместо данной строчки вставлять - "// здесь условие будет выполнятся для данной категории и материала" ?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
|| это «или».
*

S2pidsMan

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Извините пожалуйста, я же написал выше, что дуб дубом )))
"Будьте добры, подскажите пожалуйста, желательно с подробным примером как это реализовать."

Ваш код, уважаемый Федор как я понял делает проверку на категорию, а куда и как мне там воткнуть свой кусок кода, чтобы он вывелся в этой 13 категории?

И сейчас вывел в шаблоне страницы данный код -
Код
<?php
if (showPage(array('option' => 'com_content', 'catid' => 13))
|| showPage(array('option' => 'com_content', 'view' => 'category', 'id' => '13'))):
// здесь условие будет выполнятся для данной категории и материала
 
endif;
?>
В индексном файле и файле default в артиклах пишет - "Fatal error: Call to undefined function showPage() in .../.../.../index.php on line 20"

Видимо не уточнил, что Joomla 2.5
« Последнее редактирование: 15.12.2015, 22:35:10 от S2pidsMan »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
нет все правильно showPage()  самое первое сообщение темы с 1 страницы  вы не прочли
Код: php-brief
function showPage($x = array()){
    return array_intersect_assoc($x,  $_REQUEST) == $x;
}
if (showPage(array('option' => 'com_content', 'catid' => 13))
|| showPage(array('option' => 'com_content', 'view' => 'category', 'id' => '13'))):
// здесь условие будет выполнятся для данной категории и материала
 
endif;

*

S2pidsMan

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
нет все правильно showPage()  самое первое сообщение темы с 1 страницы  вы не прочли
Код: php-brief
function showPage($x = array()){
    return array_intersect_assoc($x,  $_REQUEST) == $x;
}
if (showPage(array('option' => 'com_content', 'catid' => 13))
|| showPage(array('option' => 'com_content', 'view' => 'category', 'id' => '13'))):
// здесь условие будет выполнятся для данной категории и материала
 
endif;


Федор, пожалуйста, очень вас прошу - считайте меня идиотом и дауном) Я прочел все с самого начала, но так как я в php ни о чем, да и на Joomla делаю себе сайт второй раз в жизни, то не понял 95% информации, что описана в данном топике)

Вставил ваш исправленный скрипт
Код
<?php
function showPage($x = array()){
    return array_intersect_assoc($x,  $_REQUEST) == $x;
}
if (showPage(array('option' => 'com_content', 'catid' => 13))
|| showPage(array('option' => 'com_content', 'view' => 'category', 'id' => '13'))):
// здесь условие будет выполнятся для данной категории и материала
 
endif;
?>
Ошибок нету, но я ни как не пойму куда и как мне воткнуть теперь мой div с кодом HTML )
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Цитировать
не пойму куда
туда где хотите выводить данные для условий
вы же сами написали  html/article/default.php (макет документа)
если надо еще куда то (макет категории) ищите макет вывода и вставляйте
не считайте себя за идиота, имейте чуточку самоуважения. если умеете спросит значит уже все ок
*

S2pidsMan

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
туда где хотите выводить данные для условий
вы же сами написали  html/article/default.php (макет документа)
если надо еще куда то (макет категории) ищите макет вывода и вставляйте
не считайте себя за идиота, имейте чуточку самоуважения. если умеете спросит значит уже все ок

"не считайте себя за идиота" - да я вам так написал, чтобы вы как можно понятнее, не языком программиста объяснили мне.

Я видимо неправильно задал последний вопрос.
В html/article/default.php у меня уже есть данный код, который вы подсказали, а так-же мой код который я хочу только на 13 категории - То есть файл выглядит в данный момент так - прикрепил скрин для более наглядного объяснения

Я не пойму что осталось сделать и как это сделать)
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Тут по-моему так должно быть:

Код: php
if (showPage(array('option' => 'com_content', 'id' => 13))

А, нет. А почему бы из УРЛа не взять данные?
А, опять нет. Там Фёдор так и делает
*

S2pidsMan

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Тут по-моему так должно быть:

Код: php
if (showPage(array('option' => 'com_content', 'id' => 13))

А, нет. А почему бы из УРЛа не взять данные?

Скорее всего это сделано для того, чтобы всем статьям из данной категории присваивалась переменная, а не только категории одной.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Код: php
$view = JRequest::getVar('view');
$option = JRequest::getVar('option');
$id = JRequest::getVar('id');

if (     ($option == 'com_content') && ($view == 'category') && ($id == 13)     ) {
//тут выводим что нужно
}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Шаблоны Joomlart, Gavick, Yootheme, RocketTheme для Joomla: легально и с обновлениями, no warez

Автор _ib_

Ответов: 168
Просмотров: 208543
Последний ответ 15.04.2023, 18:26:50
от AS1969
Где в Joomla 3.4.3 шаблон материала? Шаблон Yootheme Organic

Автор annushka

Ответов: 13
Просмотров: 5927
Последний ответ 13.09.2022, 11:14:56
от tuztref
Master3 – современный удобный гибкий шаблон для Joomla! 3 на фреймворке UIkit 3

Автор dron

Ответов: 81
Просмотров: 11216
Последний ответ 11.09.2021, 03:12:59
от vasileк
Как убрать tooltip в регистрации в Joomla 3?

Автор KoloS

Ответов: 13
Просмотров: 8675
Последний ответ 24.08.2021, 19:00:51
от coolplaymaster
Сменить текст placeholder в поле поиска Joomla 3.x

Автор Poincare

Ответов: 7
Просмотров: 2324
Последний ответ 09.06.2021, 15:39:26
от Akeksandr