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

Не нашел на форуме такого руководства для Joomla 1.5, да и кто-то уже видел просил. Так что думаю новичкам пригодится.
Изначально использую инструкцию от товарища Mitrich"а для 1,0 ну и предлагаю на обзор переделку инструкции для Joomla 1.5

1.  Файл  administrator/components/com_content/admin.content.html.php
Добавляем в него поле для ввода текста. Я добавлял отдельную табличку с доп. параметрами после 833строки (после тега </table>)

Код: php
<table class="adminform">
<tr>
 <td>Суперполе: </td>
 <td><input name="superfield" type="text" class="text_area" id="superfield" value="<?php echo $row->superfield; ?>" size="30" maxlength="100" /></td>
 <td>&nbsp;</td>
 <td>&nbsp;</td>
</tr>
</table>

так же я добавил таблицу в файл components\com_content\views\article\tmpl\form.php для возможности редактирования этих полей при написании статей с самого сайта, а не с админки  ^-^

Код: php
<table class="adminform">
<tr>
 <td>Суперполе: </td>
 <td><input name="superfield" type="text" class="text_area" id="superfield" value="<?php echo [color=red]$this->article->[/color]superfield; ?>" size="30" maxlength="100" /></td>
 <td>&nbsp;</td>
 <td>&nbsp;</td>
</tr>
</table>

2.  Идем в phpMyAdmin
В таблицу #__content добавляем поле superfield руками
Или выполняем запрос
Код: sql
ALTER TABLE `jos_content` ADD `superfield` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ;

3. Открываем файл \libraries\joomla\database\table\content.php
после строки class JTableContent extends JTable {   (строка 26-27 для Joomla 1.5.6)
Дописываем
Код: php
var $superfield = null;

4. 5 Файлов в папке components\com_content\models вписал во всех 5ти ффайлах где есть фраза "a.title_alias" (хотя там все зависит от того в каких местах вам надо будет выводить это поле, надеюсь в для чего вывода в каком месте служит файлик archive.php или frontpage.php объяснять не надо  ;) )
Код: php
$query = "SELECT a.id, a.title, a.title_alias, a.introtext, …………….
Дописываем в конец нее наше поле:
Код: php
$query = "SELECT a.id, a.title, a.title_alias, a.introtext, a.superfield,

5. И наконец вывод во фронтэнд
1. либо в папке  /components/com_content/views имеется еще 5 папок, которые и указывают в какой области будет выводиться поле (с такими же )
2. либо templates\ваш скин\html\com_content
все зависит от того используете ли вы стандартные шаблон или нет, в большинстве сторонних шаблонов данные выше 5 папок находятся в самой папке шаблона. В вобщем тут поэксперементировать надо, и проверить с какой папки берутся данные файлы для вывода.

В том месте где нужен вывод пишем
Код: php
<?php echo $this->article->superfield; ?>

вроде все  ;D если есть замечания и исправления надеюсь мастера поправят
« Последнее редактирование: 27.01.2013, 19:47:14 от ELLE »
*

joomlionan

  • Новичок
  • 3
  • 0 / 0
Огромное спасибо arekeyu - су. Вроде все работает. Проверил до 4-го пункта.. Есть и запись в базе данных вот только к сожалению не знаю пока как и куда вставить чтобы данная запись выводилась рядом с заголовками статей (при выборе какойнить категории).. Буду благодарен если кто подскажет.

*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
чтобы данная запись выводилась рядом с заголовками статей (при выборе какойнить категории) надо вставить <?php echo $this->article->superfield; ?> в шаблон вывода категории - /templates/template/html/com_content/category/blog.php
*

linur

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
Спасибо большое! Понадобились дополнительные поля... и, честно говоря, удивлен, что их нет в стандартном функционале. Кто пользовался этим "хаком", скажите плиз, новые поля обязательные? Ну к примеру если не заполнить, то новость добавится, или потребует ввести в поле что-то? :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Удалить ID материала

Автор adel68

Ответов: 0
Просмотров: 2956
Последний ответ 25.06.2021, 19:31:40
от adel68
Отличия Joomla 1.5 от Joomla 1.0?

Автор Karyuudo

Ответов: 44
Просмотров: 62219
Последний ответ 25.12.2019, 13:44:11
от beliyadm
Удаление url(ссылок) из Joomla

Автор simon.temp

Ответов: 20
Просмотров: 6186
Последний ответ 13.05.2019, 22:32:00
от ChaosHead
Неправильное отображение на сайте Joomla формы обратной связи из битрикс24

Автор vasil71

Ответов: 1
Просмотров: 3303
Последний ответ 04.04.2019, 11:05:29
от Technic
Обновление сайта на Joomla 1.5.26

Автор ALexVKH

Ответов: 4
Просмотров: 4588
Последний ответ 26.03.2018, 14:54:02
от SeBun