JHtmlSidebar
ユーティリティクラスの使用方法に関するチュートリアルが見つかりません。
これはそれに近づきます: コンポーネントのツールバーを作成する ですが、非常にあいまいです。 $this->sidebar
は、Viewクラスに属性サイドバーが必要であることを示しています。ただし、サイドバー属性はViewクラスには存在しません。
私はこれを使ってみました:
JHtmlSidebar::addEntry('test','test',0);
echo $this->sidebar = JHtmlSidebar::render();
それは確かにサイドバーをエコーしますが、それは私のビューの上部または下部にあり、側面ではありません。独自のレイアウトを作成する代わりに、Joomlaにレンダリングを実行させる方法があるかどうか疑問に思っています。
管理サイドバーの使用に関するいくつかのヘルプまたは便利なチュートリアルへのリンクは大いに評価されます。ありがとうございました。
com_helloworld/views/helloworld/view.html.php:
<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.view');
class HelloWorldViewHelloWorld extends JViewLegacy {
public function display($tpl = NULL){
$this->addToolbar();
$this->sidebar = JHtmlSidebar::render();
}
}
protected function addToolbar(){
require_once JPATH_COMPONENT . '/helpers/helloworld .php';
JToolBarHelper::title( 'Hello World', 'helloworld' );
JToolBarHelper::addNew();
JToolBarHelper::deleteList();
JToolBarHelper::editList();
JToolBarHelper::preferences('com_helloworld', '500');
xProfileHelper::addSubmenu('helloworld');
}
}
com_helloworld/helpers/helloworld.php:
class HelloWorldHelper extends JHelperContent
{
public static function addSubmenu($vName)
{
JHtmlSidebar::addEntry(
'test',
'index.php?option=com_helloworld&view=helloworld',
$vName == 'profile'
);
}
}
まず、ヘルパーファイルを作成する必要があります。次に例を示します。
_administrator/components/com_helloworld/helpers/helloworld.php
_
そして、このファイルに以下を追加します:
_class HelloWorldHelper extends JHelperContent
{
public static function addSubmenu($vName)
{
JHtmlSidebar::addEntry(
'test',
'index.php?option=com_hellowworld&view=VIEWNAME',
$vName == 'banners'
);
}
}
_
VIEWNAME
と_$vName
_の値を、サイドバーを追加するコンポーネントのビューに変更します。
次に、view.html.phpファイルで、次のように呼び出します。
_HelloWorldHelper::addSubmenu('VIEWNAME');
_
もちろん、サイドバーをレンダリングするには、次のコードが必要です。サイドバーは上のコードの下に配置できます。
_$this->sidebar = JHtmlSidebar::render();
_
Joomlaに同梱されているBannersコンポーネントを見ると、良い例がわかります。
言及するのを忘れた場合は、view.html.phpファイルのaddToolbar()
関数内で、ヘルパーファイルを次のように呼び出す必要があります。
_require_once JPATH_COMPONENT . '/helpers/hellowworld.php';
_
申し訳ありませんが、今日はボールに乗っていません。以下を_views/VIEWNAME/tmpl
_のdefault.phpに追加する必要があります。
_<div id="j-sidebar-container" class="span2">
<?php echo $this->sidebar; ?>
</div>
<div id="j-main-container" class="span10">
// Main part of the component view
</div>
_