view .cms/man/ru_RU.UTF-8/menu.html @ 0:78edf6b517a0 draft

24.10
author Coffee CMS <info@coffee-cms.ru>
date Fri, 11 Oct 2024 22:40:23 +0000
parents
children
line wrap: on
line source

<!doctype html>
<html lang="ru">

    <head>
        <meta charset="utf-8">
        <title>Заготовки для шаблона</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
        <link rel="stylesheet" href="/man/css/prism.css">
        <link rel="stylesheet" href="/man/css/styles.css">
    </head>

    <body>
        <main>

            <h2>Хуки</h2>

            <p><code>menu_item_link</code> - замена пункта меню на момент когда сформирована ссылка.</p>
            <p><code>menu_item</code> - пункт меню завернут в тег &lt;li> со ссылкой и подпунктами.</p>

            <h2>Хук menu_item_link</h2>

            <p>Модуль Меню позволяет изменить разметку пунктов меню благодаря хуку menu_item_link.
            Он происходит после формирования ссылки. В переменную $cms помещаются данные.</p>

<pre class="language-php"><code>$cms["menu.mod.php"]["item_link"] = array(
    "link" => $link,
    "has_submenu" => $has_submenu,
);
do_hook( "menu_item_link" );</code></pre>

            <p>Создайте внутри вашего шаблона файл с именем tpl.mod.php с нижеприведенным содержимым.
                По сути это модуль к CMS внутри вашего шаблона.
            </p>

<pre class="language-php"><code>hook_add_fn( "menu_item_link", "tpl_menu_item_link" );

function tpl_menu_item_link() {
    global $cms;

    if ( $cms["menu.mod.php"]["item_link"]["has_submenu"] ) {
        $cms["menu.mod.php"]["item_link"]["link"] = "
            &lt;div class=plus>
                {$cms['menu.mod.php']['item_link']['link']}
                &lt;div class=icon>&lt;/div>
            &lt;/div>";
    }
}</code></pre>

            <p>При этом учитывайте что имя функции должно быть уникальным.</p>

        </main>
        <script src=/man/js/prism.js></script>
    </body>
</html>