web-dev-qa-db-ja.com

テンプレートXMLマニフェストファイル内の位置の名前を変更する

テーマをHTMLからJoomlaに変換しています。以下のように位置を定義したところ、何も出力されませんでした。

    <positions>
        <position>top_header</position>
        <position>left</position>
        <position>right_menu</position>
        <position>right_content</position>
        <position>footer</position>
    </positions>

しかし、それを次のコードに変更すると、すべてが正常に機能します。

    <positions>
        <position>position-0</position>
        <position>position-1</position>
        <position>position-2</position>
        <position>position-3</position>
        <position>position-4</position>
        <position>position-5</position>
        <position>position-7</position>
        <position>position-8</position>
        <position>position-9</position>
        <position>messageIE</position>  
        <position>debug</position>
    </positions>

私はjoomlaを初めて使用するので、なぜそうなのかまったくわかりません。

だから、誰もがポジションがそのように機能する理由を教えてもらえますか? Joomlaでの自分の位置を定義できませんか?独自の定義された位置を持つテーマを見て、それらが完全に機能していたので、なぜ私の位置が機能しなかったのですか?

3
Twix

新しいテンプレートを既存のテンプレートに基づいていますか?

新しい位置にモジュールを表示するには、いくつかの条件を満たす必要があります。

  1. /templates/YOURTEMPLATE/TemplateDetails.xml
    このファイルでモジュールの位置を定義する必要があります。問題のコードは正しいです。

  2. /templates/YOURTEMPLATE/index.php
    ポジションはあなたのindex.phpファイル。モジュールの位置を表示したい場所にこのコードを配置します。

    <jdoc:include type="modules" name="top_header" style="xhtml" />
    

    (必要に応じて「top_header」を置き換えます)

jdoc:include

このコードはモジュールのコンテンツに置き換えられますifモジュールはこの位置に公開されます。

  1. モジュールを公開する
    これで、モジュール(またはいくつか)をtop_header、およびモジュールを表示するページに「メニューの割り当て」->「モジュールの割り当て」を設定していることを確認します。また、[ステータス]が[公開済み]に設定されていることを確認してください。

Module Assignment

これらのステップのほとんどは基本的なものですが、見落としがちなため、ここにリストします。

2
johanpw

XMLファイルでは、モジュールの位置名にアンダースコア_を使用できない可能性があります。 「top_header」の代わりに「top-header」を使用してみてください。

0
Robin Hood