web-dev-qa-db-ja.com

Joomla 1.5でJinputの代わりに何を使用しますか?

私は次のコードを持っています:

_defined( '_JEXEC' ) or die;

class plgSystemTemplateSwitcher extends JPlugin
    {
        function onAfterInitialise()
            {
                $input = JFactory::getApplication()->input;
                $session = JFactory::getSession();
                $template = $input->getCmd( 'template', '' );
                if ( $template !== '' ) {
                $session->set( 'templateChanged', $template );
                }
                if ( $session->get( 'templateChanged', '' )!== '' ) {
                $input->set( 'template', $session->get( 'templateChanged', '' ) );
                }
            }
    }
_

このコードは、現在のユーザーのテンプレートを変更するプラグインとして使用されます。 GETパラメータ_template=mytemplate_を含むリンクをクリックすると、テンプレートがユーザーセッションに保存され、表示されます。

私が変更され:

_$template = $input->getCmd( 'template', '' );
_

_$template = JRequest::getVar('template');
_

しかし、私は以下をサポートしないJoomla 1.5サイトを持っています:

_$input = JFactory::getApplication()->input; 
_

$input->set()を設定しようとするとエラーが発生しました。

誰かがこのコードを1.5バージョンに移植するのを手伝ってくれる?

1
Dimm

Joomla 1.5で何かを設定するには、次のようにsetVarを使用する必要があります。

$template = JRequest::getVar('template');
JRequest::setVar('template', $template); 

免責事項:

Joomla 1.5は非常に古く、公式にはサポートされていません。また、ここにいる人々はあなたをサポートする気がありません。セキュリティ上の理由から、ウェブサイトを最新バージョンのJoomlaに移行することを検討してください。

2
Lodder