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

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Братья и сестры!

Смиренно прошу направить новичка на путь истинный.

Пытаюсь писать свою компоненту. Первые шаги прошли удачно: форма front-end открывается. Теперь нужно на форму добавить поля и тут ошибка

Call to a member function getLabel() on a non-object ..... components\com_drazs\views\application_add\tmpl\default.php on line 12

Файлики тута https://yadi.sk/d/CsCZiil5342LQj

Не могу разобраться с объектами, кто-что вызывает. Дайте ссылки почитать, чтобы ошибку исправить.
« Последнее редактирование: 19.12.2016, 15:57:32 от OnePrg »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Ошибка: Call to a member function on a non-object
« Ответ #1 : 19.12.2016, 12:54:22 »
Так дали бы сразу код 12 строки и смой функции
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Re: Ошибка: Call to a member function on a non-object
« Ответ #2 : 19.12.2016, 15:24:37 »
Так дали бы сразу код 12 строки и смой функции

даю весь файл

<?php   
/** @var $this DrazsViewApplication_Add */
defined( '_JEXEC' ) or die; // No direct access
?>

<div class="item-page">
   <h1>Форма подачи заявки на приём</h1>
    
    <form action="<?php echo JRoute::_( 'index.php?view=application_add' )?>" method="post" class="form-validate">
 
        <div class="control-group form-inline">

ВОТ ТУТ ОШИБКА!           <div class="control-label"><?php echo $this->form->getLabel( 'name' ); ?></div>
            <div class="controls"><?php echo $this->form->getInput( 'name' ); ?></div>
        </div>
 
        <input type="hidden" name="task" value="form.save" />
        <input type="submit" value="Отправить" />
        <?php echo JHtml::_( 'form.token' ); ?>
    </form>
    
</div>
« Последнее редактирование: 19.12.2016, 15:55:44 от OnePrg »
*

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Re: Ошибка: Call to a member function on a non-object
« Ответ #3 : 19.12.2016, 15:26:16 »
Менял

<div class="control-label"><?php echo $this->form->getLabel( 'name' ); ?></div>

на

<div class="control-label"><?php echo $this->application_add->getLabel( 'name' ); ?></div>


- не помогло
« Последнее редактирование: 19.12.2016, 15:56:07 от OnePrg »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Ошибка: Call to a member function on a non-object
« Ответ #4 : 19.12.2016, 16:06:56 »
Ну все просто он не может получить занчение name label а точнее его просто нет, а нулевое там не сделали, ну или в XML забыл label написать. обратисеь к создателю комопнета пусть подправить. чистый баг
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Re: Ошибка: Call to a member function on a non-object
« Ответ #5 : 19.12.2016, 16:12:56 »
В файле

com_drazs\models\forms\application_add.xml прописано

<?xml version="1.0" ?>
<form>
    <fieldset>
        <field name="name" type="text" label="Имя:" class="span3" required="true" />
    </fieldset>
</form>

*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Ошибка: Call to a member function on a non-object
« Ответ #6 : 19.12.2016, 17:35:37 »
Ну все просто он не может получить занчение name label а точнее его просто нет, а нулевое там не сделали, ну или в XML забыл label написать. обратисеь к создателю комопнета пусть подправить. чистый баг
Да нет, в таком случае вернуло бы просто пустую строку.
OnePrg, объект $this->form у вас либо не определен, либо не экземпляр JForm. Сделайте print_r($this->form); и посмотрите, что выводит.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Ошибка: Call to a member function on a non-object
« Ответ #7 : 19.12.2016, 17:39:57 »
Да нет, в таком случае вернуло бы просто пустую строку.
Даже как-то не подумал увидел non-object  и мышенально среагировал.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Re: Ошибка: Call to a member function on a non-object
« Ответ #8 : 20.12.2016, 09:30:44 »
OnePrg, объект $this->form у вас либо не определен, либо не экземпляр JForm. Сделайте print_r($this->form); и посмотрите, что выводит.

ничего не выводит

Как я понимаю последовательность операций:
1. drazs.php - точка входа
2. controller.php - контролер по умолчанию
3. views/appliations_add/view.html.php - вызываемый им вид
4. models/appliations_add.php - вызываемая модель   
5. views\application_add\tmpl\default.php - сама форма

правильно?

я правильно понимаю, что мой объект должен определяться в п.3?

   public function display( $tpl = null )
   {
      
      $this->item = $this->get( 'Item' );
      $this->form = $this->get( 'application_add' );
      $this->state = $this->get( 'State' );
      DrazsSiteHelper::setDocument( 'view title');
      print_r($form);   ВОТ ТУТ ВЫДАЁТ ПУСТО - НИЧЕГО НЕ ПИШЕТ
      parent::display( $tpl );
   }


А если делаю print_r($this);, то выдаёт вот что:

Спойлер
[свернуть]
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Ошибка: Call to a member function on a non-object
« Ответ #9 : 20.12.2016, 09:37:50 »
      $this->form = $this->get( 'application_add' );
Покажите код модели.
      print_r($form);   ВОТ ТУТ ВЫДАЁТ ПУСТО - НИЧЕГО НЕ ПИШЕТ
$form откуда взялась?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

OnePrg

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Re: Ошибка: Call to a member function on a non-object
« Ответ #10 : 20.12.2016, 10:04:43 »
Разобрался :)

   public function display( $tpl = null )
   {
     
      $this->item = $this->get( 'Item' );
      $this->form = $this->get( 'application_add' ); ВОТ ТУТ ОШИБКА; нужно $this->get( 'form' )
      $this->state = $this->get( 'State' );
      DrazsSiteHelper::setDocument( 'view title');
      print_r($form);   
      parent::display( $tpl );
   }


Всем спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

YOOtheme pro ошибка фото

Автор andersonov

Ответов: 1
Просмотров: 800
Последний ответ 20.12.2024, 19:16:38
от Missile
Ошибка после обновления Templater manager от разработчика Regular Labs

Автор fbr

Ответов: 2
Просмотров: 974
Последний ответ 24.03.2021, 21:17:35
от fbr
Ошибка при установке DJ Reviews

Автор Kijv

Ответов: 0
Просмотров: 866
Последний ответ 15.02.2021, 14:52:09
от Kijv
Ошибка при работе с widgetkit в админке

Автор stanzdor

Ответов: 2
Просмотров: 1648
Последний ответ 22.09.2020, 18:05:07
от Vekach
Ошибка Declaration of ticketController

Автор Limonkevich

Ответов: 6
Просмотров: 1429
Последний ответ 10.03.2020, 11:51:24
от Limonkevich