——
Файлы этого выпуска:
/step/150/——
Эх, что творится в нашей
многострадальной России... НТВ закрыли, ТВ-6 закрыли, в армию всех
забирают, чиновники беспредельничают... о чем это я? А! Это я о новом
своем проекте —
voices.ru.
Узнаете? Что напоминает своим внешним
видом? Правильно! Напоминает наш родимый
php.kurepin.ru.
Пусть voices послужит
реальным примером использования разрабатываемых нами приемов
программирования. Конечно, если у меня хватит сил и времени тащить еще и
этот проект. Кстати, если у кого есть желание помочь — пишите. Для работы
над voices.ru надо уметь находить горячие темы и материалы по
ним.
А мы возвращаемся к нашим баранам и продолжаем писать
backoffice.
У нас уже добавляются и показываются рубрики. Теперь
настала очередь научиться их удалять и переименовывать.
В общем-то,
это не чуть не сложнее добавления.
Для начала копируем файл
add.php в
rename.php.
Нам не много надо изменить в
файле rename.php, чтобы он выполнил функцию, соответствующую своему
названию.
Если бы этот был не backoffice, то следовало бы вывести
на экран список всех рубрик и снабдить их какими-нибудь кнопочками, чтобы
пользователь мог выбрать нужный ему раздел и перейти к его редактированию.
Но мы с вами — люди серьезные, мы же можем подвести мышь к
названию рубрики в общем их списке и по URL посмотреть номер интересующей
нас рубрики, не так ли? Полагаю, что именно так.
Поэтому, нам надо
снабдить форму переименования рубрики только дополнительными полем типа
text, в которое мы впишем номер изменяемой рубрики, а в поле для названия
— новое название рубрики. Все очень логично по-моему.
Если не
ошибаюсь, то файл
rename.php должен выглядеть вот так:
Да, так и есть — работает:
http://php.kurepin.ru/step/150/admin/cat/rename.phpЧто
изменилось, по порядку:
1. добавилась
строка
$my->in_cat_id=$cat_id;присваивающая
глобальной переменной номер изменяемой рубрики;
2. поменяли
название вызываемой функции с
add на
rename;
3.
немного изменили вывод сообщения об удачном завершении операции;
4.
в процедуру очистки переменных
unset() добавили новую переменную
$cat_id, несущую из формы номер рубрики;
5. переименовали
заголовок формы с "добавление" на "переименование";
6. добавили в
форму еще одно поле типа text с именем
cat_id, для указания номера
изменяемой функции;
7. кнопку
добавить переименовали в
сохранить;
Как видите, вся процедура создания новой
возможности backoffice заняла не более минуты.
Полагаю, что
комментировать порядок создания файла
delete.php нет никакой
надобности?
Вот так он выглядит:
Проверяем...
http://php.kurepin.ru/step/150/admin/cat/delete.php
...работает!
Единственное, на что прошу обратить внимание, это на
изменение сообщения об удачном удалении: вместо
$my->in_cat_name
надо поставить
$my->in_cat_id, т.к. тут мы оперируем только с
номером рубрики.
Ну что, можно поздравить вас окончанием работы над
администрированием рубрик.
Осталось проверить их устойчивость к
нетипичным данным (обычно проверяют наличием в кавычек и апострофов в
текстовых полях и наличием букв и спецсимволов в цифровых полях. А так же
— выходы за пределы допустимых размеров) и можно отправляться пить
пиво.
А я сегодня тестирую очередной Интернет-магазин. На днях
закончил тестирование наиболее популярных книжных интернет-лавок и перешел
на продуктовые. Сегодня под мою критику попадает
онлайн-магазин сети
гипермаркетов Рамстор. Они уже мне отзвонили и сообщили, что из 25
заказанных наименований у них в наличии только 17, но еще не
привезли...