1

クライアントのWebサイトでは、左側の列に多数のモジュールが含まれるJoomlaテンプレートを使用していますが、私が設計しているカスタムコンポーネントの場合、これらのモジュールを垂直メニューに置き換える必要があります。私が思いついたハックソリューションは、CSSでそれらのモジュールを非表示にすることです

div#leftpad > div {
    display:none;
}

次に、javascriptを使用してを挿入し、<div id='compmenu'>を設定します。jQueryを使えば、<div id='leftpad'>display:block

jQuery('#compmenu').appendTo('#leftpad').show();

コンポーネントはグーグルマップを表示するので、とにかくjavascriptが必要です。ここにいるJoomlaの専門家は、同じ結果を達成するためのよりエレガントで簡単な方法を知っていますか?

4

2 に答える 2

1

Module-Bind for Modulesのビルドを使用して、モジュールまたはコンポーネントが表示されたときにそれらを非表示にしないのはなぜですか。これはクリーンな方法です。Module/Compはメニュー項目にバインドされていると思います。

編集: クライアントがモジュール/コンプを正しい方法で実装する必要があることを確認してください。このようなことをハックで行うのは非常に悪いことです。

  • コンポーネントのメニュー項目の作成(プログラム)
  • 非表示のメニューを作成する
  • そのメニューにコンポーネントを追加します
  • このメニューからすべてのモジュールのバインドを解除してください

Joomla APIには、コンポーネントの構築に関する一連の優れたチュートリアルがあります。私は過去にそれらを経験しましたが、私が見るようにそれらはそれらを改善しました。私が理解しているように、あなたのコンポーネントは比較的単純なので、デフォルトのメニューはあなたが望むものでなければなりません。インストールXMLで説明されています

 <administration>
  <!-- Administration Menu Section -->
  <menu>MyMenuLink</menu>

  <!-- some other stuff -->

 </administration>

そして、Joomlaで利用できるようになります!クライアントがコンポーネントをインストールした後のmenumanager。ですから、それほど難しいことではないと思います。

于 2011-05-16T08:32:55.613 に答える
1

Joomlaでは、メニュータイプは、インストールされているコンポーネントによって指定されたさまざまなビューによって決定されます。コンポーネントがJoomlaMVC標準に適切にコーディングされている場合は、少なくとも1つのビューが必要です。これにより、少なくとも1つのメニュータイプから選択できます。sraが述べたように、メニューリンクが必要ない場合でも、リンクを作成してモジュールを操作および割り当てるためのitemIDを使用できるように、非表示のメニューを作成する必要があります。

コンポーネントに必要なファイルを作成するのに役立つ拡張機能とWebサイトがいくつかあるので、必要なのは小さなコードを追加することだけです。Joomla MVCを理解すれば、それほど難しくはありません。

http://docs.joomla.org/Developing_a_Model-View-Controller_Component_-_Part_1

このようにすることで、後でエンドユーザーがコンポーネントの使用方法を理解する必要があるときに、多くの頭痛の種を減らすことができます。

于 2011-05-16T22:22:13.570 に答える