Mercurial
diff .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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.cms/man/ru_RU.UTF-8/menu.html Fri Oct 11 22:40:23 2024 +0000 @@ -0,0 +1,54 @@ +<!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> - пункт меню завернут в тег <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"] = " + <div class=plus> + {$cms['menu.mod.php']['item_link']['link']} + <div class=icon></div> + </div>"; + } +}</code></pre> + + <p>При этом учитывайте что имя функции должно быть уникальным.</p> + + </main> + <script src=/man/js/prism.js></script> + </body> +</html> \ No newline at end of file