0

QuickApps CMSの新しいテーマを作成しようとしています。エコーしようとすると:

<?php echo $this->Block->region('user-menu'); ?>

新しいテーマ レイアウトでユーザー メニューをレンダリングするには、次の 2 つのことを行います。

  1. 「User Menu」という名前のメニューのタイトルを印刷しますが、デフォルトのテーマではこのタイトルは印刷されません。

  2. さらに、次のように異なる HTML を出力します。

私の新しいテーマの出力

<div id="qa-block-5" class="qa-block qa-block-unique qa-block-menu">

  <div id="block_5" class="block block-Menu delta-user-menu ">

       <h2> User Menu </h2>

         <div class="content">
            <ul>
            <li id="menu-item-22" class="first-item menu-item-22"><a href="/4test/quick-apps/user/my_account" target="_self"><span>My account</span></a>    </li>
            <li id="menu-item-23" class="last-item menu-item-23"><a href="/4test/quick-apps/user/logout" target="_self"><span>Logout</span></a> </li>
        </ul>
            </div>
            </div>
</div>

デフォルトのテーマの出力

<div id="user-menu">
                    <div id="qa-block-5" class="qa-block qa-block-unique qa-block-menu">
<ul>
    <li id="menu-item-22" class="first-item menu-item-22"><a href="/4test/quick-apps/user/my_account" target="_self"><span>My account</span></a>    </li>
    <li id="menu-item-23" class="last-item menu-item-23"><a href="/4test/quick-apps/user/logout" target="_self"><span>Logout</span></a> </li>
</ul>
</div>              </div>

この HTML を処理する要素を見つけようとしましたが、見つかりませんでした。私が知る必要があるのは、新しいテーマに従ってメニューの出力を変更する方法です? つまり、スタイル クラス名を含む HTML 構造を変更します。

4

1 に答える 1

2

出力をカスタマイズする必要がある場合、テーマは「theme_block」ビュー要素を実装できます。これは、各ブロックをレンダリングするときに使用されます。

ここでは、「デフォルト テーマ」の実装を確認できます。

https://github.com/QuickAppsCMS/QuickApps-CMS/blob/1.1/QuickApps/View/Themed/Default/Elements/theme_block.ctp

QuickApps は、レンダリング時に一連のビュー要素を使用します。テーマがこのコアの要素を実装していない場合、デフォルトで使用されます。ここに、テーマが実装できる要素のリストが表示されます。

https://github.com/QuickAppsCMS/QuickApps-CMS-Docs/blob/1.x/eng/designers/themes.md#rendering-elements

よろしくお願いします!/クリス


PS: ところで、v2.0 では大きな変更が行われる予定ですので、ご期待ください。たとえば、ブロックと領域がオブジェクトになり、次のような気の利いたことができるようになりました。

$this->region('main-menu')
    ->merge($this->region('other-region'))
    ->blockLimit(5);
于 2014-08-19T17:46:40.167 に答える