joomlaでは、すべてのページをコンポーネントビューにリンクする必要があります。コンポーネント出力のないページを作成するにはどうすればよいですか?
例:私のホームページでは、モジュール出力のみが必要です。このため、ホームページを「空の記事」にリンクできますが、サードパーティの拡張機能を使用せずにこれを行うより良い方法はありますか?
joomlaでは、すべてのページをコンポーネントビューにリンクする必要があります。コンポーネント出力のないページを作成するにはどうすればよいですか?
例:私のホームページでは、モジュール出力のみが必要です。このため、ホームページを「空の記事」にリンクできますが、サードパーティの拡張機能を使用せずにこれを行うより良い方法はありますか?
回答:
それよりも「良い方法」はありません。
他の唯一のオプションは、テンプレートファイルのホームページにいるかどうかを確認することです。ホームページにいるかどうかを確認するには、ドキュメントに記載されている方法を使用できます:
http://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page
そして次のようなことをします:
<?php
$menu = JFactory::getApplication()->getMenu();
if ($menu->getActive() != $menu->getDefault()) { ?>
<jdoc:include type="component" />
<?php } ?>
そのようにして、コンポーネントをホームページに含めないでください
example.com/component/com_name/view
デフォルトのメニュー項目の下にロードされ、コンポーネントの出力が表示されないため、リンクに注意してください。
JFactory::getApplication()->input->get('view')
)もメニューのビュー($menu->getActive()->view
)と同じではないことを確認するために、さらにいくつかのチェックを追加することもできます
JEDには、モジュールのみを配置できるようにメニュー項目を公開できる「空白の」コンポーネントもあります。
http://extensions.joomla.org/extensions/style-a-design/personal-layout/17363
router.php
404でない対応するために、無効なURLを引き起こす
インデックスファイルには複数のテンプレートレイアウトを含めることができます。
<!--Layout 1-->
<?php if ($BConfig->html=='layoutA') : ?>
<jdoc:include type="component" />
<?php endif; ?> <!--End Layout 1-->
<!--Dynamically Generated Layout 2-->
<?php if ($BConfig->html=='layoutB') : ?>
<jdoc:include type="modules" name="your-module"/>
<?php endif; ?> <!--End Layout 2-->
次に、templateDetailsファイルにオプションBが含まれていることを確認します。次に、Joomla!テンプレートでは、レイアウトbを使用して追加のテンプレートを設定できます。ホームメニュー項目に移動し、そのテンプレートを選択します。コンポーネントは読み込まれませんが、モジュールは読み込まれます。
愚かな、非常に似ているが、かなり簡単な解決策:
カテゴリーやメニュー項目パラメーターで、そのカテゴリーに対して非表示にするには、一部の詳細をオフにする必要がある場合があります。
空のコンポーネントを作成できます。したがって、com_menusコンポーネントでは、ページでその空のコンポーネントを選択するだけの出力があってはならないことを決定できます。そのコンポーネントでは、ビューとdefault.xmlファイルを含む空のdefault.phpテンプレートを作成する必要があるため、com_menusコンポーネントでコンポーネントを選択するときにこのオプションが表示されます。
Joomla!3.xでは、次のことができます。
デフォルトではJoomla!ライブラリが含まブートストラップ v2.3.2を使用すると、たとえば、このライブラリーでは、CSSを使用できるように、グリッドシステム:http://getbootstrap.com/2.3.2/scaffolding.html#gridSystem
この方法を使用することで得られる利点は、少ない位置と少ないphp、js、cssコードでテンプレートをより軽くできることです。そのため、多くの機能が必要ない場合は、自分で作成できます。
よろしく。
空白のコンポーネントを使用できます。それはこの結果を達成します。