Перейти к содержимому



  • Закрытая тема Тема закрыта

Номер позиций пунктов меню для админки

#1 Symphony

Symphony
  • Пользователь
  • 636 сообщений
  • Репутация: 54
0

Отправлено 21 Март 2011 - 19:33

ссылки в админке сайта выглядят так
Изображение
надо что б с помощью jquery появилась нумерация
Изображение
и когда с помощью sortable(сортабле уже прописал) меняем местами пункт меню, то и нумерация переходит в сосотояние 1,2,3,4,5 ... ит.д.
Изображение
т.е. становиться такой
Изображение
думаю понятно, что пунктов меню может быть и больше.
предполагаю работа должна производиться по такому типажу

$('#sortable li').each({ function() {
  //а тут что?

});

----------------------------------------
код списка кину навсякий случай

<div id ='link_menu'>
<form>
<ul id='sortable'>
<li>

<table border='1' class='form_list_links'cellspacing='0' cellpadding='0'>
<tr>
<td style='width:20px;cursor:move;'><img src='images/draggable1.png'/></td>
<td width='200'><a href='http://{$SITE_DOMEN}/home'>Главная</a></td>
<td><input type='text' size='3' name='position_link' value='' /></td>
<td><input type='checkbox' name='visible_link' value='' /></td>
<td><a class='form_list_edit'>изменить</a></td>
<td><a id='del_link_menu'>удалить</a></td>
</tr>
</table>
</li>

<li>
<table border='1' class='form_list_links'cellspacing='0' cellpadding='0'>
<tr>
<td border='1' style='width:20px;cursor:move;'><img src='images/draggable1.png'/></td>
<td width='200'><a href='http://{$SITE_DOMEN}/home'>Не главная</a></td>
<td><input type='text' size='3' name='position_link' value='' /></td>
<td><input type='checkbox' name='visible_link' value='' /></td>
<td><a class='form_list_edit'>изменить</a></td>
<td><a id='del_link_menu'>удалить</a></td>
</tr>
</table>
</li>

<li>
<table border='1' class='form_list_links'cellspacing='0' cellpadding='0'>
<tr>
<td style='width:20px;cursor:move;'><img src='images/draggable1.png'/></td>
<td width='200'><a href='http://{$SITE_DOMEN}/home'>Всякакака</a></td>
<td><input type='text' size='3' name='position_link' value='' /></td>
<td><input type='checkbox' name='visible_link' value='' /></td>
<td><a class='form_list_edit'>изменить</a></td>
<td><a id='del_link_menu'>удалить</a></td>
</tr>
</table>
</li>

<li>
<table border='1' class='form_list_links'cellspacing='0' cellpadding='0'>
<tr>
<td style='width:20px;cursor:move;'><img src='images/draggable1.png'/></td>
<td width='200'><a href='http://{$SITE_DOMEN}/home'>Траляля</a></td>
<td><input type='text' size='3' name='position_link' value='' /></td>
<td><input type='checkbox' name='visible_link' value='' /></td>
<td><a class='form_list_edit'>изменить</a></td>
<td><a id='del_link_menu'>удалить</a></td>
</tr>
</table>
</li>


</ul>
</form>
</div>

 

 

  • 0


#2 almatar

almatar
  • Пользователь
  • 203 сообщений
  • Репутация: 0

Отправлено 22 Март 2011 - 10:56

А админка эта у вас от какого движка? Что-то я не узнаю, никогда не встречался с такой, самопис чтоли?
  • 0

#3 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 22 Март 2011 - 11:14

что за нумерация, одкуда она берется и почему при помощи jquery?
  • 0

#4 Symphony

Symphony
    Topic Starter
  • Пользователь
  • 636 сообщений
  • Репутация: 54

Отправлено 22 Март 2011 - 14:20

almatar,
самопись
surfer
от этой нумерации будет зависить порядковый номер пенкта меню,
к примеру, если
главная - 1
Портфолио - 2
Траляля - 3
Форум - 4
Поиск - 5
будет отображаться: главная | Портфолио | Траляля | Форум | Поиск

ну, а если поменять циферки, так:
главная - 3
Портфолио - 1
Траляля - 5
Форум - 4
Поиск - 2
То порядок пунктов меню будет выглядеть так: Портфолио | Поиск | главная | Форум | Траляля

короче циферки означают позицию пункта меню
jquery, потому что при создании страниц, каталогов и др. используется ajax(jquery'вский), так что библиотеку уже подключил, нахрена это вешать на некроссбраузерный js, если на jq придется прописать ~5 строчек
  • 0


#5 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 22 Март 2011 - 14:25

не вижу связи никакой
  • 0

#6 Symphony

Symphony
    Topic Starter
  • Пользователь
  • 636 сообщений
  • Репутация: 54

Отправлено 22 Март 2011 - 14:28

ммм... surfer ты контролируешь пункты своего меню?
например: что у тебя идет после "Главной"??
  • 0


#7 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 22 Март 2011 - 14:39

а причем здесь jquery, sortable позволяет сортировать столбцы по той или иной колонке, это никак не отразиться на меню, т.к. я так понял позиция пункта мею берется из БД, jquery тут не помошник, тут необходим php
  • 0

#8 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 22 Март 2011 - 16:18

Symphony, уточни, тебе нужно заполнить поля позициями? Т.е. при загрузке страницы поля у тебя пустые, далее по onload или после загрузки DOM выполняется код заполнения полей позициями так? Просто пока не понятно, в каком порядке изначально выводятся пункты меню, они сортируются в БД или как?
Так же пока не понятны слова:

и когда с помощью sortable(сортабле уже прописал) меняем местами пункт меню, то и нумерация переходит в сосотояние 1,2,3,4,5 ... ит.д.

Т.е. после совершения drag&drop события ты хочешь записать новую нумерацию в БД по Ajax или же просто в элементах на странице заново забить нумерацию?

Уточняем, затем будем разбираться.
  • 0

#9 Symphony

Symphony
    Topic Starter
  • Пользователь
  • 636 сообщений
  • Репутация: 54

Отправлено 22 Март 2011 - 17:42

уточни, тебе нужно заполнить поля позициями?

да

Т.е. при загрузке страницы поля у тебя пустые

да... в поляx я оставляю value="" - это поле не заполнено, но когда ввывожу их в список с дб то это происходит по такому запросу "SELECT * FROM my_tabl ORDER BY position"

далее по onload или после загрузки DOM выполняется код заполнения полей позициями так?

да

Просто пока не понятно, в каком порядке изначально выводятся пункты меню, они сортируются в БД или как?

да в таблице есть поле position(integer) где и хранятся номера,
по запросу, который я уже указывал выше, выводятся пункт меню
далее по идеи, с помощью jq заполняем поля, если я перемещаю по списку менюшки как показано на рисунке3, то и нумерация становиться 1,2,3,4,5... , т.е. по порядку,
потом после того как я сделал изменения, отправляю позиции в бд UPDATE'ом.
  • 0


#10 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 22 Март 2011 - 21:15

Symphony, так должно заполнять.
$('#sortable input[name="position_link"]').each( function(index) {
   $(this).val(index+1);
});
Но у меня к вам вопрос тогда. Как вы собираетесь принимать на стороне сервера данные со всех position_link если они у вас имеют одно и тоже имя?
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru