Четверг, 21.11.2024
Меню сайта
Вход на сайт
Поиск
Статистика
Рейтинг@Mail.ru
Реклама
Обновленные темыНовые сообщенияУчастникиПравила форумаПоиск
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: selbus  
Как написать свою CMS
selbusДата: Среда, 08.12.2010, 23:18 | Сообщение # 21
Продвинутый
Группа: Модераторы
Сообщений: 177
Статус: Offline
А что тут думать. Для [IMAGE1-left] и [IMAGE1-right] нужно просто модифицировать функцию get_img, добавив параметр $align:
Code
function get_img($id,$align=""){
global $image;
$img = $image[$id];
return "<img src=\"$img\" align=\"$align\" border=\"0\">";
}

Ну и описать необходимые регулярные выражения:
Code
$pattern = "#\[IMAGE([0-9]*)-(right)\]#es";
$text = preg_replace($pattern, "get_img('\\1', '\\2')", $text);
$pattern = "#\[IMAGE([0-9]*)-(left)\]#es";
$text = preg_replace($pattern, "get_img('\\1', '\\2')", $text);
 
kaiserДата: Среда, 08.12.2010, 23:19 | Сообщение # 22
Знаток
Группа: Проверенные
Сообщений: 132
Статус: Offline
Супер. selbus, respect
 
kaiserДата: Понедельник, 27.12.2010, 18:55 | Сообщение # 23
Знаток
Группа: Проверенные
Сообщений: 132
Статус: Offline
Подскажите, как реализовать многоуровневое меню на PHP.
 
selbusДата: Понедельник, 27.12.2010, 22:26 | Сообщение # 24
Продвинутый
Группа: Модераторы
Сообщений: 177
Статус: Offline
Хороший вопрос. А по конкретнее описать можешь, какого результата ты хочешь?
 
kaiserДата: Понедельник, 27.12.2010, 22:31 | Сообщение # 25
Знаток
Группа: Проверенные
Сообщений: 132
Статус: Offline
Хотелось бы добится вывод такого результата:
Code
<ul>
<li><a href="#" target="_self">Раздел 1</a>
<ul>
<li><a href="#" target="_self">Раздел 1.1</a>
<ul>
<li><a href="#" target="_self">Раздел 1.1.1</a></li>
<li><a href="#" target="_self">Раздел 1.1.2</a></li>
<li><a href="#" target="_self">Раздел 1.1.3</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li><a href="#" target="_self">Раздел 2</a>
<ul>
<li><a href="#" target="_self">Раздел 2.1</a></li>
<li><a href="#" target="_self">Раздел 2.2</a></li>
</ul>
</li>
</ul>


Сообщение отредактировал kaiser - Вторник, 28.12.2010, 01:06
 
selbusДата: Вторник, 28.12.2010, 09:30 | Сообщение # 26
Продвинутый
Группа: Модераторы
Сообщений: 177
Статус: Offline
Я так понимаю, что меню строишь с использованием jQuery.
 
kaiserДата: Вторник, 28.12.2010, 12:24 | Сообщение # 27
Знаток
Группа: Проверенные
Сообщений: 132
Статус: Offline
Ну да.
 
selbusДата: Вторник, 04.01.2011, 04:12 | Сообщение # 28
Продвинутый
Группа: Модераторы
Сообщений: 177
Статус: Offline
В принципе, там достаточно реализовать две функции, на TOP ссылки и на SUB ссылки.
 
kaiserДата: Вторник, 04.01.2011, 13:58 | Сообщение # 29
Знаток
Группа: Проверенные
Сообщений: 132
Статус: Offline
Хотелось бы увидеть на примере.
 
selbusДата: Среда, 05.01.2011, 15:24 | Сообщение # 30
Продвинутый
Группа: Модераторы
Сообщений: 177
Статус: Offline
Вот тебе пример из двух функций. Для начала понадобится таблица:
Code
CREATE TABLE 'menu' (
'id_mnu' int(11) NOT NULL AUTO_INCREMENT,
'parentid' int(10) unsigned NOT NULL DEFAULT '0',
'title' varchar(50) NOT NULL DEFAULT '',
'link' varchar(255) NOT NULL DEFAULT '',
'position' tinyint(3) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY ('id_mnu')
) ENGINE=MyISAM

Первая функция для вывода топовых ссылок:

Code
function getmenu($res){
$out = "";
$row = mysql_num_rows($res);
while($resmnu = mysql_fetch_assoc($res)){
$id = $resmnu["id_mnu"];// id ссылки меню
$title = $resmnu["title"];// Название ссылки
$link = $resmnu["link"];// url ссылки
$out .= "<ul><li><a href=\"$link\">$title</a>";
$out .= getsub($id);// Проверяем наличие подменю
$out .= "</li></ul>";
}
return $out;
}

Вторая функция, проверка подменю:

Code
function getsub($parent) {
$query = "SELECT * FROM menu WHERE parentid = $parent ORDER BY position";
$res = mysql_query($query);
$row = mysql_num_rows($res);
$out = "";
if($row > 0){
$out = "<ul>";
while($resmnu = mysql_fetch_assoc($res)){
$id = $resmnu["id_mnu"];
$title = $resmnu["title"];
$link = $resmnu["link"];
$out .= "<li><a href=\"$link\">$title</a>";
$out .= getsub($id);// проверяем наличие подменю следующих уровней
$out .= "</li>";
}
$out .= "</ul>";
}
return $out;
}
 
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск: