Перейти к публикации

Помогите оформить шаблон для меню


Рекомендованные сообщения

Задача такая:

Сформировать HTML код следующего содержания

<ul id="nav">

<li><a href="index.php">Главная страница&nbsp;&nbsp;&nbsp;&nbsp;</a></li>

<li><a href="#null">Законодательство&nbsp;&nbsp;&nbsp;&nbsp;</a>

<ul id="nav_2">

<li><a href="index.php?do=cat&category=zakon">Законодательные акты</a></li>

<li><a href="index.php?do=cat&category=pod_zakon">Подзаконные акты</a></li>

<li><a href="index.php?do=cat&category=npa_project">Проекты НПА</a></li>

</ul>

</li>

<li><a href="index.php?do=cat&category=doc">Нормативные документы&nbsp;&nbsp;&nbsp;&nbsp;</a></li>

<li><a href="#null">Формы заявок&nbsp;&nbsp;&nbsp;&nbsp;</a></li>

<li><a href="index.php?do=forum">Форумы&nbsp;&nbsp;&nbsp;&nbsp;</a></li>

<li><a href="index.php?do=cat&category=contact">Контакты</a></li>

</ul>

Но только в TPL шаблоне. При этом само меню формируется динамически из базы данных.

Вот скрипт формирования меню:

<?php

/*

=====================================================

Невенчанный Пётр Андреевич - Integral +

-----------------------------------------------------

Copyright © 2007 Невенчанный Пётр Андреевич

=====================================================

Данный код защищен авторскими правами

=====================================================

Файл: menu.php

-----------------------------------------------------

Назначение: Вывод меню сайта

=====================================================

*/

if(!defined('DATALIFEENGINE'))

{

die("Hacking attempt!");

}

function chec_type_menu($id){

global $db;

$temp = $db->query("SELECT id FROM ".PREFIX."_menu_top WHERE type_id='".$id."'");

if (mysql_num_rows($temp) >> 0){

return true;

}else{

return false;

}

}

$type_query = $db->query("SELECT id, tag FROM ".PREFIX."_menu_type");

while ($type_menu = mysql_fetch_array($type_query)){

if (chec_type_menu($type_menu['id'])){

$top_query=$db->query("SELECT id, title, link, link_ajax FROM ".PREFIX."_menu_top WHERE type_id='".$type_menu['id']."' ORDER BY pos ASC");

while($row = mysql_fetch_array($top_query)){

$menu_top[$row['id']] = $row['title'];

$menu_top_link[$row['id']] = $row['link'];

$menu_top_jlink[$row['id']] = $row['link_ajax'];

}

$db->free();

foreach ($menu_top as $key => $value) {

$menu_query = $db->query("SELECT link_ajax, menu_link, menu_title FROM ".PREFIX."_menu WHERE top='".$key."' ORDER BY pos ASC");

while($menu_row = $db->get_row($menu_query)){

if ($menu_row['link_ajax'] == ''){

$link = $menu_row['menu_link'];

}else{

$link = $menu_row['menu_link']."\" onclick=\"DlePage('".$menu_row['link_ajax']."'); return false;";

}

$tpl->load_template($type_menu['tag'].'_content.tpl');

$tpl->set('{menu_link}', $link);

$tpl->set('{menu_title}', $menu_row['menu_title']);

$tpl->compile('menu_content');

$tpl->clear();

}

if ($menu_top_link[$key] != ''){

$top_title = "<a ";

if ($menu_top_jlink[$key] != ''){

$top_title .= "onclick=\"DlePage('".$menu_top_jlink[$key]."'); return false;\" ";

}

$top_title .= "href=\"".$menu_top_link[$key]."\">".$value."</a>";

}else{

$top_title = $value;

}

$tpl->load_template($type_menu['tag'].'.tpl');

$tpl->set('{menu_top_title}', $top_title);

$tpl->set('{menu_content}', $tpl->result['menu_content']);

$tpl->result['menu_content'] = '';

$tpl->compile($type_menu['tag']);

$tpl->clear();

unset($menu_top);

unset($menu_top_link);

unset($menu_top_jlink);

}

}

}

?>

Можно ли использовать массивы в TPL шаблонах и если да то как?

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...