Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удобное редактирование различных меню. 
:(
    Опции темы
Alexey007
Дата 25.4.2007, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.3.2007

Репутация: 1
Всего: 1



I. Меню с вложениями
Код

<a href="#"><b>Заглавие</b></a>
    <div>
    <a href="LINK">текст</a>
    <a href="#">Вложение 1</a>
       <div>
       <a href="LINK">Вложение 1 текст</a>
       <a href="LINK">Вложение 1 текст</a>
       </div>
    </div>

Мне требуется сделать саму модерацию этого меню.. т.е. чтобы модно было удобно редактировать человеку, совершенно не знающему тегов и прочего... Да и ещё, чтобы была возможность добавлять новые закладки.. Вообщем редактирование полное: от удаления до добаления.
У меня есть мысли, но не знаю как их вотворить в жизнь:
1. прочитать файл построчно
2. выделить заглавие между мервыми <a> и </a> и срдержимое вставить в отдельное поле редактирования названия.
3. Выбрать все что между последующими <div> и </div>.. сделать с этим тоже самое.. но теперь чтобы ещё было поле и ссылки
4. если между этими <div> и </div> есть ещё вложения, повторить пункт 3
5. если есть вложения ещё -> проделывать пункты 4 и 3.
6. если с этим заглавием закончено -> переходить к следущему.
7. заменить содержимое файла на то, что только что получили.

Помогите пожалуйста как быть?


II. Боковое меню
Код

echo $my->menu_top();
echo $my->menu_url('LINK 1', 'Текст 1');
echo $my->menu_url('LINK 2', 'Текст 2');
echo $my->menu_url('LINK 3', 'Текст 3');
echo $my->menu_bottom();

echo $my->menu_top();
echo $my->menu_url('LINK 4', 'Текст 4');
echo $my->menu_url('LINK 5', 'Текст 5');
echo $my->menu_url('LINK 6', 'Текст 6');
echo $my->menu_bottom();

Тут тоже нужно редактирование такое же как и в пункте I.
И тут ещё нужно, чтобы редактировалось положение менюшек (т.е. чтобы редактировался порядок вывода менюшек)
Есть мысль, чтобы сами менюшки хранить в отдельных файлах.. а в базе данных хранить само порядок их вывода

Offtop Топик будет долго житьsmile
PM MAIL   Вверх
PARROT
Дата 25.4.2007, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Alexey007, меню выводи из базы, пиши админку и редактируй.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Alexey007
Дата 25.4.2007, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.3.2007

Репутация: 1
Всего: 1



А примерно в каком виде хранить в базе? Какие поля там нужны будут? и сколько таблиц?
PM MAIL   Вверх
kit_kat
Дата 26.4.2007, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 25.2.2007
Где: Петербург

Репутация: нет
Всего: 6



Обычно
id
pid (кто родитель)
name

Потом рекурсивная функция построения меню с любым уровнем вложенности подменю.

Не самое удачное объяснение, но...

PM MAIL WWW   Вверх
Alexey007
Дата 26.4.2007, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.3.2007

Репутация: 1
Всего: 1



Этот метот подходит, если есть 1 заголовок и в нем вложены ссылки.
А если допустим есть Вот такая штука, мне получается нужно делать бесконечно много этих самых таблиц:
Или я что-то не понял? И из статьи я понял, что должно быть 2 таблицы, в одной храняться заголовки,в другой сами вложения.
Заголовок
 -Текст
 -Текст
 -Текст
     -Текст
     -Текст
         -Текст
         -Текст
         -Текст
     -Текст
 -Текст

Это сообщение отредактировал(а) PARROT - 26.4.2007, 17:12
PM MAIL   Вверх
PARROT
Дата 26.4.2007, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Работа с деревьями http://vingrad.ru/PHP-FAQ-002203


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Alexey007
Дата 26.4.2007, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.3.2007

Репутация: 1
Всего: 1



Что-то тормозит у меня эта функция...
Можно её как-нибудь оптимизировать?
Надо как-нибудь сделать, чтобы ДИВ ЗАКЛАДКИ не появлялся в самом начале, а выделял только сами вложения(группы вложений)..
Надо чтобы работал скрипт быстро и не ел много памяти.
Код

function ShowTree($ParentID, $lvl) {
global $lvl;
$lvl++;
$q="SELECT * FROM top_menu WHERE pid=".$ParentID." ORDER BY id";
    $result=mysql_query($q);
if (mysql_num_rows($result) > 0) {
echo 'ДИВ ЗАКЛАДКИ<br>';
while ( $row = mysql_fetch_array($result) ) {
$ID1 = $row["id"];
$www = $row["www"];
echo '<A HREF="'.$www.'">'.$row["text"].'</A><br>';
ShowTree($ID1, $lvl);
$lvl--;
}
echo 'ЗАКР ДИВ ЗАКЛАДКИ<br>';
}
}
ShowTree(0, 0);

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0809 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.