Новости Joomla

Загадочный параметр $live_site в configuration.php Joomla

Загадочный параметр $live_site в configuration.php Joomla

👩‍💻 Загадочный параметр $live_site в configuration.php Joomla. Зачем он нужен?Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.Однако, параметр всё же остался в ядре Joomla. Зачем он нужен? А нужен он в 2-х случаях:- для работы класса Joomla\CMS\Uri\Uri, который часто используется в коде Joomla для работы методов Uri::root() и Uri::base(), а значит может влиять и на работу в том числе ajax-скриптов.- для работы Joomla в CLI - командной строке сервера. В случае если вы используете в вашем CLI-плагине методы опять-таки класса Uri, то CLI ничего не знает о текущем домене, так как запускается вне web-сервера. Поэтому домен нужно указывать принудительно. Либо с помощью параметра командной строки --live-site, например, —live-site=https://site.ru/. Со слешем на конце, иначе в CLI адрес сайта станет https://site.rujoomla.php.Либо в параметре $live_site в файле configuration.php, так как CliApplication берёт настройку оттуда, если параметр команды не указан или пуст.⚠️ Иначе в качестве хоста и url класса Uri будет установлено https://joomla.invalid/set/by/console/application. В самом же коде команды получить параметр $live_site можно из объекта приложения

protected function doExecute(InputInterface $input, OutputInterface $output): int    {         //...              $live_site = $this->getApplication()->get('live_site');         //...    }
и исходя из этого строить дальнейшую логику.@joomlafeed#joomla #разработка #php #cli

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks.Этот контент-плагин - одно из старейших расширений для Joomla. Его задача - преобразовывать шорт-коды вида {YOUTUBE}...{/YOUTUBE}, {MP3}parth/to/file.mp3{/MP3} и подобные во встроенные видео или аудио.👩‍💻 v.7.0.0. Что нового?- Добавлена поддержка Youtube Shorts. Просто скопируйте полный url видео и вставьте его внутри тегов {YOUTUBE}...{/YOUTUBE}.- Поддержка Joomla 5.x без плагина обратной совместимости. PHP 5, PHP 7, PHP 8. - Индексация умным поиском в CLI. В Joomla 5 плагин перестал вызывать ошибку при индексации контента умным поиском через CLI,Заметьте, что этот один и тот же пакет для всех версий Joomla, начиная с 1.5.x и заканчивая 5.x. Технически "под капотом" код плагина по сути не менялся, а для поддержки следующих версий Joomla авторы вставляют "заплатки". Плагин всё ещё использует старую архитектуру файлов и классов Joomla, что, к сожалению, заставляет прибавлять к его описанию слова "пока ещё" - "пока ещё работает".Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 За ссылку спасибо самому внимательному участнику нашего сообщества - Ринату Кажетову (@rkazhet).@joomlafeed#joomla #расширения

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

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
Господа и Дамы,
у меня на сайте есть небольшая база с элементами, каталог продукции. Он сделан на базе стандартного блога категорий. То есть каждый элемент по сути отдельный материал. Выводятся материалы в блоге в сокращенном варианте. То есть с кнопкой "продолжить чтение". На данный момент кнопка представляет из себя текст как ссылку и выглядит очень неприметно.
Как изменить эту кнопочку, добавить фон, овальную окантовку и чтобы она применялась только к данной категории материалов?
« Последнее редактирование: 16.01.2014, 10:09:51 от mrspy »
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
То есть сейчас, вот так


А хочу, вот так
« Последнее редактирование: 16.01.2014, 10:02:49 от mrspy »
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Предположительно так:

Код: css
.readmore {background:#f00; border-radius:3px; color:#000;}

Но лучше бы ссылку на сайт выложили.
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
Предположительно так:

Код: css
.readmore {background:#f00; border-radius:3px; color:#000;}

Но лучше бы ссылку на сайт выложили.

А нельзя свойство элемента в CSS поменять именно для данной категории материалов?
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
Хмм... То есть можно сделать альтернативный CSS и его применить в админке для данной категории материалов?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Без программирования врядли, без программирования только отдельный шаблон для этой категории (копия основного с измененными стилями)
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
Ну элементов в блоге категории не много, около 50-ти. Новые элементы создаются коприванием старых из именениями контента незначительными. Может в ручную в материалах прописать свойство для Readmore?
Если в ручную прописывать, то куда этот текст вставлять в материале?
Код
.readmore {background:#f00; border-radius:3px; color:#000;}
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Не создавайте себе лишнюю работу.
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
То есть копию шаблона создать проще?
Не могли бы дать алгоритм действий примерный? ::)
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Открываете templates\шаблон\html\com_content\category\blog.php. Если такого файла нет, то копируете его из components\com_content\views\category\tmpl\. Структуру пути создаёте так же, как я показал (выделил жирным).
Сразу после запрета прямого доступа в начале файла (после defined('_JEXEC') or die;) добавляете:

Код: php
$cat_id_class = ' cat-id-'.JRequest::getVar('id');

Далее строку…

Код: php
<div class="blog<?php echo $this->pageclass_sfx;?>">

Заменяете на…

Код: php
<div class="blog<?php echo $this->pageclass_sfx.$cat_id_class;?>">

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

Код: css
.cat-id-3 p {color:#f00;}
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
Гениально! Большое спасибо. Вечером попробую! *DRINK*
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
Теперь можно оформлять отдельно контент разных категорий. Например, нужно, чтобы все параграфы для категории с id=3 были красного цвета:
Заменяете на…
Код: css
.cat-id-3 p {color:#f00;}
Извините за наверное глупый вопрос. А как обратиться к свойствам Readmore 3-ей категории?

Код: css
.cat-id-3 readmore {background:#f00; border-radius:3px; color:#000;}
Так?
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Скорее так (точку пропустили):

Код: css
.cat-id-3 .readmore {background:#f00; border-radius:3px; color:#000;}

Но не факт, что сразу сработает. Во-первых, возможно у readmore уже есть оформление с более специфичным селектором. Во-вторых, readmore может тупо не быть, т.к. этот класс присваивается в шаблоне и в отдельных шаблонах он может обзываться по-разному. Смотрите файрбагом.
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
Класс Readmore в шаблоне отсутствует видимо. И оформление берется как обычной ссылки.
Вот что показывает FireBug
Код: css
#system .item > .links a:after {
    content: " »";
    font-size: 16px;
}
#system .item > .links a {
    margin-right: 15px;
}
h2, h3, a, .menu-dropdown li.active .level1, a.button-more:hover, #system .title a:hover, .searchbox .results li.more-results:hover {
    color: #5F9FCB;
}
a {
    color: #4488BB;
}
a, a:hover {
    text-decoration: none;
}
*::-moz-selection {
    background: none repeat scroll 0 0 #3399FF;
    color: #FFFFFF;
}
body {
    color: #777777;
    font: 13px/20px Arial,Helvetica,sans-serif;
}
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Ссылку на сайт тогда выложите.
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
В коде материала, все что связано с Readmore это -
Код
<hr id="system-readmore" />
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
удалил сообщение от посторонних глаз ...
« Последнее редактирование: 16.01.2014, 23:41:18 от mrspy »
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Код: css
#main #main .links a {background:#f00; border-radius:3px; color:#000;}

только где на вашем сайте класс .cat-id-… я не вижу.
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
Я еще не добавил. Решил сначала найти к чему обращаться. Большое спасибо ! ::)
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Пожалуйста. Дерзайте. ;-)
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
У меня Blog.php выглядит так
Код
// include config and layout
$base = dirname(dirname(dirname(__FILE__)));
include($base.'/config.php');
include($warp['path']->path('layouts:'.preg_replace('/'.preg_quote($base, '/').'/', '', __FILE__, 1)));

Если менять на стандартный - летит функционал.

А нельзя как нить в коде материала, там где вызывается разрыв материала (readmore) задать ему свойства?

Код: css
<table style="height: 275px; width: 278px;">
<tbody>
<tr>
<td style="text-align: right;">&nbsp;Цена изделия:</td>
<td><span style="text-align: right;"><strong><strong style="color: #ff0000;">1 960 р.</strong>&nbsp;</strong>&nbsp;</span>
</td>
</tr>
</tbody>
</table>
<hr id="system-readmore" />
<hr />
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
Код: css
#main #main .links a {background:#f00; border-radius:3px; color:#000;}

только где на вашем сайте класс .cat-id-… я не вижу.
Я так понимаю, что второе обращение к #main - ошибка?
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
Нда... Ничего не выходит. Нужен какой-то простой способ.

Можно ли в каждом материале свойство для Readmore прописать? А то времени жалко столько убивать на исследования :(
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
Есть идея прописать картинку бэкграундом к  тексту "продолжить чтение", Тока вот проблема в том что она ограничевается в размерах. Есть идеи как сделать кнопку читать далее, вместо текста?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Уберите эту кнопку в настройках (чего не помню, по моему можно в категории) для этой категории, выведите любой HTML в интротексе, посылающий человека на страницу контента.
*

mrspy

  • Захожу иногда
  • 69
  • 0 / 0
Спасибо! Попробую!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Слетает кодировка в кэше

Автор demoni

Ответов: 6
Просмотров: 2003
Последний ответ 06.07.2016, 16:16:51
от SmokerMan
Помогите настроить WidgetKit, не работают виджеты

Автор PR[E]D@TOR

Ответов: 8
Просмотров: 6867
Последний ответ 27.08.2015, 09:12:36
от oleg_61
Дубыль главной странице - решить пожалуйс

Автор alexfairtex

Ответов: 6
Просмотров: 1316
Последний ответ 07.08.2015, 19:26:10
от mibgraver
В модуле выводится измененная ссылка

Автор Александр216

Ответов: 4
Просмотров: 1306
Последний ответ 04.08.2015, 20:39:10
от Александр216
Проблема с верхним меню

Автор blood

Ответов: 21
Просмотров: 1518
Последний ответ 08.06.2015, 17:16:02
от vipiusss