Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Админка руками администратора либо как начальник помог программисту

Anna | 31.05.2014 | нет комментариев

При разработке нашего обслуживания (мы не скрываемся, но он пока еще крайне сырой и находится в стадии глубокого редизайна) команда столкнулась с задачей изложения большого числа образцов.

Дабы было немножко внятнее – мы делаем инструмент для организации самых различных мероприятий (тематических встреч, вечеринок, юбилеев, пиршеств, свадеб, корпоративов, семинаров, ремонтов, съемок, концертов, фестивалей, экспозиций и т.п.)
Безусловно же, всякий тип мероприятия требует самых различных образцов и необходимы инструменты их простого создания
Пока программисты были заняты разработкой самой платформы, мне дюже крепко захотелось поскорее посоздавать образцы, которые теснее вертелись в голове. Но формат, в котором это разрабатывал программист крайне недружественный для разработки и сопровождения таких образцов.

Вот пример того, что должно загружаться в сервис
event_type_groups.config

'default'=>array( 'name' => 'default', 'title' => 'Мои образцы' ), 'celebration'=>array( 'name' => 'celebration', 'title' => 'Пиршество' ), 'business'=>array( 'name' => 'business', 'title' => 'Бизнес-мероприятие' ), 'tourism'=>array( 'name' => 'tourism', 'title' => 'Пикник, поход' ), …

Ожидать админку необходимо было несколько дней, описывать же их в такой форме – задачка крайне нудная и гарантирующая немалое число ошибок. Дозволено было возложить задачу по созданию админки кому-то еще, но здесь пришла в голову достаточно простая мысль.

Я хоть и администратор, но с немалым навыком как в программировании, так и в подготовке самой различной документации. И не раз доводилось объединять что-то в документах с чем-то в программных модулях. Скажем, в техническом задании может быть прописана какая-нибудь конструкция справочной информации и всякий раз, когда в нее вносятся метаморфозы, требуется эту конструкцию пересоздавать в коде.

Было принято решение применять для образования нужных файлов Excel. Причем, первая идея заключалась в том, Дабы написать VB-скрипт, тот, что будет пробегаться по необходимым строкам и колонкам и переводить данные в формат ассоциированного массива для последующей загрузки через PHP.

Впрочем, даже этого делать не пришлось. Абсолютно довольно сцепить нужные значения в нескольких колонках

Вот как выглядит формула, которая строит обособленный блок из строк конфигурационного файла

И вот, что получается в итоге ее работы

При вставке в файл это выглядит так
'wedding_ceremonial_book_leading'=>array( 'name'=>'book_leading', 'order'=>'1', 'placeholder'=>'Укажите имя и контактные данные ведущего', 'title'=>'Тамада', 'obj_type'=>'text', 'text'=>'', 'default'=>'', 'field_group'=>'prepare_actors', 'event_type'=>'wedding_ceremonial', ),

Дальше оставалось лишь выделить все строки в колонке, скопировать их, и вставить в текстовый файл. Бинго! Скрипт к загрузке готов. Ну, примерно готов.

Прокомментирую некоторые нюансы, с которыми пришлось столкнуться
1. Отступы и переводы строк для отменного форматирования
2. Обработка лишних кавычек, которые подставлял эксель при вставке в notepad
3. Кодировка при вставке из Excel в notepad

Для того, Дабы вставлять отступы (табуляции) и переводы строк, я сотворил в таблице именованные ячейки
• ПСВК с формулой =СЦЕПИТЬ(СИМВОЛ(13); СИМВОЛ(10))
• ТАБ с формулой =СИМВОЛ(9)
• ПСВКТ с формулой =СЦЕПИТЬ(ПСВК; ТАБ)
• ПСВКТТ с формулой =СЦЕПИТЬ(ПСВКТ; ТАБ)
• ПСВКТТТ с формулой =СЦЕПИТЬ(ПСВКТТ; ТАБ)

Обработку лишних кавычек пришлось делать вручную, поиском и заменой (Excel вставляет двойные кавычки, а нигде в скрипте их нет)

Ну и в notepad пришлось установить кодировку UTF-8 без BOM, Дабы получившиеся файлы загружались без ошибок.

Если вам необходимо трансформировать регулярные данные в скрипты для применения в каких-то языках программирования, Вы сейчас знаете, что Excel2PHP восхитительно дозволено трансформировать в Excel2JS либо Excel2SQL и во то Вам только ни заблагорассудится.

Спасибо за Ваше внимание. Верю, что статья была для Вас пригодной

Источник: programmingmaster.ru

Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB