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

Osprey

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Хорошего дня всем джумловодам.

Возникла идея упростить себе жизнь при переименовании файла main.css (файл со всеми стилями шаблона). Переименовывать его необходимо раз в месяц с целью обновления пользовательского кеша.
Для этого
1 указал в error.php (тренируюсь на кошках)
Код
<link href="<?php echo $baseurl ?>/templates/any_template/assets/css/<?php echo $css_path ?>" rel="stylesheet" />
В общем идея прописать такую конструкцию во всех файлах подключающих main.css
2 прописал в configuration.php
Код
public $css_path = 'main1.css';

Но так не играет почему-то.
Вопрос сводится к тому как получить значение переменной из configuration.php в файлах error.php и index.php шаблона.
*

Osprey

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Получить переменную из configuration.php
« Ответ #1 : 25.02.2021, 09:06:06 »
Поскольку разобрался сам, выложу решение своей задачи. Для того чтобы получить любую переменную из файла configuration.php, ваш файл php должен содержать конструкцию вида
1
Код
//Получаем путь до файла configuration.php
require_once ($_SERVER['DOCUMENT_ROOT'] .'/configuration.php');
//Вписать заместо $css_path вашу переменную из файла configuration.php
$jconfig = new JConfig();
$css_path = $jconfig->css_path;
2
Код
// Подключаем файл CSS
$doc->addStyleSheet($baseurl . '/templates/gs_umarket/assets/css/' . $css_path);


*

sivers

  • Завсегдатай
  • 1641
  • 226 / 0
Re: Получить переменную из configuration.php
« Ответ #2 : 25.02.2021, 10:16:08 »
Получить переменную из конфига можно еще и так:
Код
$app = JFactory::getApplication();
$css_path = $app->getCfg('css_path', '');
Вот только переменные, добавленные в конфиг вручную, скорее всего затрутся при сохранении настроек в админке.
На связи в телеге @sivers
*

Osprey

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Получить переменную из configuration.php
« Ответ #3 : 25.02.2021, 10:23:22 »
А как и в какой файл лучше добавлять переменные для того чтобы быть от этого застрахованным?
*

Septdir

  • Живу я здесь
  • 3366
  • 168 / 4
Re: Получить переменную из configuration.php
« Ответ #4 : 25.02.2021, 11:02:13 »
Переименовывать его необходимо раз в месяц с целью обновления пользовательского кеша.
Подключайте CSS через HtmlHelper с version auto
Код
\Joomla\CMS\HTML\HTMLHelper::stylesheet('template.css', array('version' => 'auto', 'relative' => true));
На выходе получите примерно такой путь.
Код
/administrator/templates/isis/css/template.css?8f1d2dbde9177fc0c70b0b6956ec9e85

8f1d2dbde9177fc0c70b0b6956ec9e85 - это media версиz, она обновляется в месте с обновлением ядра.
Ну если надо в ручную обновить версию media, то есть 2 варианта.
1. Включить выключить отладку сайта.
2. Воспользоваться методом refreshMediaVersion.
Код
(new \Joomla\CMS\Version())->refreshMediaVersion();
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

fsv

  • Живу я здесь
  • 2672
  • 384 / 2
Re: Получить переменную из configuration.php
« Ответ #5 : 25.02.2021, 11:14:57 »
Цитировать
во всех файлах подключающих main.css
Сколько у вас таких файлов? 1-2 в шаблоне Joomla. Руками в каждом при обновлении стилей:  .../main.css?v=20210225
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

ProtectYourSite

  • Живу я здесь
  • 2118
  • 116 / 4
  • Безопасность вебсайтов
Re: Получить переменную из configuration.php
« Ответ #6 : 25.02.2021, 11:33:37 »
Зачем руками, дату поставить типо
Код
echo date ("Y-m")
*

Osprey

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Получить переменную из configuration.php
« Ответ #7 : 25.02.2021, 11:44:54 »
Подключайте CSS через HtmlHelper с version auto
Код
\Joomla\CMS\HTML\HTMLHelper::stylesheet('template.css', array('version' => 'auto', 'relative' => true));

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

Septdir

  • Живу я здесь
  • 3366
  • 168 / 4
Re: Получить переменную из configuration.php
« Ответ #8 : 25.02.2021, 12:15:35 »
что пользовательские строки в конфиге действительно затираются при сохранении через админку.
Если добавите не просто строки в конфиг, но и форму, то затираться не нужно. Но для вашей задачи это попросту не нужно
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

fsv

  • Живу я здесь
  • 2672
  • 384 / 2
Re: Получить переменную из configuration.php
« Ответ #9 : 25.02.2021, 14:25:58 »
Зачем руками, дату поставить типо
Код
echo date ("Y-m")
Зачем каждый день кэш у юзеров обновлять, если стили не менялись?
А, у вас раз в месяц. А если я обновил стили действительно раз в месяц, но 15-го?)
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

ProtectYourSite

  • Живу я здесь
  • 2118
  • 116 / 4
  • Безопасность вебсайтов
Re: Получить переменную из configuration.php
« Ответ #10 : 26.02.2021, 11:51:14 »
Можно и 15, просто у ТС речь не шла, как и когда стили обновляются, кроме как раз в месяц
*

Osprey

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Получить переменную из configuration.php
« Ответ #11 : 16.04.2021, 09:03:33 »
Все таки решил остановиться на этом https://docs.joomla.org/J3.x:Adding_JavaScript_and_CSS_to_the_page варианте подключения, так как минимум действий. Ты перезаписываешь файл main.css - у него меняется версия, браузер видит новую версию и грузит файл по-новой.

Код
$ document -> addStyleSheet ( "... main.css" ,  array ( 'version' => 'auto' )); 
// ведет к чему-то вроде
// <link href = "... main.css? 37e343bbb4073e0dfe5b1eb40b6" rel = "stylesheet">

теперь всегда стили буду подключать таким макаром, очень удобно. Спасибо товарищу Septdir за то что указал правильное направление.
*

sivers

  • Завсегдатай
  • 1641
  • 226 / 0
Re: Получить переменную из configuration.php
« Ответ #12 : 16.04.2021, 09:41:06 »
теперь всегда стили буду подключать таким макаром, очень удобно
И как, работает? Код хэш меняется после правки файла?
На связи в телеге @sivers
*

Osprey

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Получить переменную из configuration.php
« Ответ #13 : 16.04.2021, 09:42:54 »
И как, работает? Код хэш меняется после правки файла?
Да, меняется.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Получить ID из текущего URL

Автор lgmax

Ответов: 4
Просмотров: 147
Последний ответ 28.04.2021, 10:46:17
от lgmax
Как получить пользовательские поля на странице результатов поиска?

Автор zahar_92

Ответов: 0
Просмотров: 80
Последний ответ 11.02.2021, 23:23:40
от zahar_92
Как получить материал на странице списка материалов через ajax?

Автор zahar_92

Ответов: 9
Просмотров: 251
Последний ответ 10.02.2021, 17:50:52
от effrit
Как получить доступ к админке?

Автор Светлана Р.

Ответов: 15
Просмотров: 334
Последний ответ 06.11.2020, 17:21:44
от Светлана Р.
Как получить информацию о продукте внутри VirtueMart?

Автор Damarkuzz

Ответов: 1
Просмотров: 113
Последний ответ 03.11.2020, 23:11:19
от Damarkuzz