モジュールのみでコンポーネントなしでページを作成する方法は?


10

joomlaでは、すべてのページをコンポーネントビューにリンクする必要があります。コンポーネント出力のないページを作成するにはどうすればよいですか?

例:私のホームページでは、モジュール出力のみが必要です。このため、ホームページを「空の記事」にリンクできますが、サードパーティの拡張機能を使用せずにこれを行うより良い方法はありますか?


2
カスタムテンプレートまたは商用テンプレートを使用していますか?それらの多くはコンポーネント領域を完全に遮断するオプションを持っているのでお願いします。
ブライアンピート2014

@BrianPeatカスタムテンプレートを使用しています
web-tiki

あ、そう。さて、ここでうまくいくはずの良い答えがいくつかあります:)
Brian Peat 2014

回答:


15

それよりも「良い方法」はありません。

他の唯一のオプションは、テンプレートファイルのホームページにいるかどうかを確認することです。ホームページにいるかどうかを確認するには、ドキュメントに記載されている方法を使用できます:

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 } ?>

そのようにして、コンポーネントをホームページに含めないでください


1
この方法を使用すると、ホームページから別のページに移動できないリンクがある場合、ホームページのメニュー項目の下にロードすると、リンクが壊れて表示される可能性があります。example.com/component/com_name/viewデフォルトのメニュー項目の下にロードされ、コンポーネントの出力が表示されないため、リンクに注意してください。
David Fritsch 2014年

現在のコンポーネントとビュー(JFactory::getApplication()->input->get('view'))もメニューのビュー($menu->getActive()->view)と同じではないことを確認するために、さらにいくつかのチェックを追加することもできます
David Fritsch

@DavidFritsch:$ menu-> getActive()-> viewは$ menu-> getActive()-> query ['view']である必要があると思います。
FFrewin


4

インデックスファイルには複数のテンプレートレイアウトを含めることができます。

<!--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を使用して追加のテンプレートを設定できます。ホームメニュー項目に移動し、そのテンプレートを選択します。コンポーネントは読み込まれませんが、モジュールは読み込まれます。


2

愚かな、非常に似ているが、かなり簡単な解決策:

  1. 記事カテゴリを作成する
  2. 内容なし(記事)のままにします
  3. メニューリンクを作成する
  4. モジュールをそのメニューリンクに割り当てます

カテゴリーやメニュー項目パラメーターで、そのカテゴリーに対して非表示にするには、一部の詳細をオフにする必要がある場合があります。


1
これは基本的に空の記事を使用するのと同じです。
web-tiki 14

1

空のコンポーネントを作成できます。したがって、com_menusコンポーネントでは、ページでその空のコンポーネントを選択するだけの出力があってはならないことを決定できます。そのコンポーネントでは、ビューとdefault.xmlファイルを含む空のdefault.phpテンプレートを作成する必要があるため、com_menusコンポーネントでコンポーネントを選択するときにこのオプションが表示されます。


1

RocketThemesには、com_content特集記事を非表示にする便利な機能があります。

空のカテゴリを公開して出力を最小限に抑え、CSSスタイルで非表示にします。


1

テンプレートをコピーし、jdocコンポーネントを削除して、コンポーネントを必要としないメニュー項目にそのスタイルを割り当てます。


0

Joomla!3.xでは、次のことができます。

  • 最初にモジュールを作成し、
  • メインサイトの新しい記事内に新しいカテゴリを作成し、
  • プラグインコンテンツ-ロードモジュールが有効になっているかどうかを確認します。

デフォルトではJoomla!ライブラリが含まブートストラップ v2.3.2を使用すると、たとえば、このライブラリーでは、CSSを使用できるように、グリッドシステムhttp://getbootstrap.com/2.3.2/scaffolding.html#gridSystem

  • ここから、記事にModuleというボタンが表示されます。単純なグリッドまたは非常に複雑なグリッドを作成し、モジュールを各ブロックに割り当てます。

この方法を使用することで得られる利点は、少ない位置と少ないphp、js、cssコードでテンプレートをより軽くできることです。そのため、多くの機能が必要ない場合は自分で作成できます。

よろしく。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.