Xls из php

#1 11 марта 2015 в 20:59
Вопрос такой никто не пробовал реализовать вывод в xls, я сейчас на icms2 рассматриваю вариант формирования xls, что то вроде локальной базы для обмена данными в другие программы, но подумал может пригодится и для других задач например обмена данными между сайтами icms2 или просто для вывода и формирования прайса исходя из указанных полей.
И так идея такая есть два сайта на icms2 с одного выгружаем xls другим парсим его, для выгрузки думаем использовать вот это, парсер где то был, правда поправить придется, но не суть.
Вот хотелось бы обсудить, как на лету можно было бы добавлять поля какие выгружать а какие нет — это первое, второе как эти поля потом добавлять в существующий сайт или делать шаблоны для парсера, или может какую концепцию другую использовать.
Собственно обсуждение затеял чтобы сформировать ТЗ для команды.
#2 12 марта 2015 в 01:03
А через XML не проще это сделать?
#3 12 марта 2015 в 06:44
При переносе с одного сайта на другой, может возникнуть ситуация, когда на другом сайте уже есть поля с системными именами совпадающими с переносимыми, но используемые по другому назначению. А так при выгрузке можно указать настройки самих полей и их потом использовать для создания на другом сайте.
#4 12 марта 2015 в 09:02

И так идея такая есть два сайта на icms2 с одного выгружаем xls другим парсим его

jorgovich
Идея такая — зачем просто если можно сложно? joke
#5 12 марта 2015 в 10:55
Alexneva, через xml проще, но я еще преследуется цель интеграции с локальными программами например MS offis, поэтому xls, хотя вообще правильней было бы делать выгрузку в несколько форматов xls, csv, xml, yml, тогда точно можно говорить об универсальности. Плюс например можно сделать таким макаром автоматическую генерацию прайса компании, при обновлении сайта автоматически формировать прайс исходя из базы полей.
Val, согласен задачу описал сложно для простого переноса — можно просто парсером
Loadырь, вот тут и я тоже думаю что нужно как то решать с возможностью задавать системные имена либо при выгрузке — либо при парсинге.
А по организации мне нравиться такая идея реализации наподобие как у Вас в конструкторе, т.е можно применить такой механизм создаем в админке (по аналогии с созданием форм) задачу выгрузки — выбираем тип контента, формат и поля для выгрузки, во вкладки полей можно сделать функционал сменить имя (системное имя выгружаемого поля), ну и так можно настроить несколько задач для разных типов контента. Парсинг еще не думал, посмотрел как импорт в мапсе сделан — может быть по аналогии, хотя возможно есть интересней решение…
#6 12 марта 2015 в 11:03

никто не пробовал реализовать вывод в xls… например обмена данными между сайтами

jorgovich
Я такое сделал для Первой ветки — связь между сайтами, но не на xls, а на xml (но принцип то же). К сожалению, заказчик, для которого сделал эту разработку, так и не заплатил. Так и лежит код, никому не нужный.
#7 13 марта 2015 в 12:20
Странник, бывает, выложите в блог и дополнения цену пропишите, если он универсальный, чтоб люди знали в случае чего что есть такая нужная штука. Если честно с первой версией инстанта я не подружился, до сих пор понять многие вещи не получается, хотя последние обновления после 10.3 не смотрел, а вот со второй мне удобней работать и все задумки идут на ура.
Теперь по теме — ТЗ выложу позже, решили дождаться обновления и все обдумать, с экспортом более менее понятно все — продумали, а вот на счет импорта в том виде в котором хотим видеть его, пока вызывает много вопросов, в том числе и вопросы по безопасности, так что вот подумаем еще.
#8 13 марта 2015 в 12:50
К сожалению, не универсальный. ПО писалось под конкретную задачу — разгрузить новостной сайт от обращений к базе данных при отправке сообщений в твиттер. Сообщения в твиттер отправлялись по задаче крон. Естественно, каждые 15 минут шло обращение к БД. Хостер стал жаловаться на перегрузку и стал грозить отключением сайта.
Поступили так. У владельца было два сайта. Второй сайт (малонагруженный) стали использовать в качестве аутригера — на нем запускалась задача крон каждые 5 минут и отправляла в твиттер одну новость, пока пришедшие с основного сайта данные не исчерпывались. На основном сайте обращение к БД шло каждые полчаса, формировался массив новостей и отправлялся на сайт-аутригер.
Если кому то нужна такая фича — милости прошу, пишите в личку. помогу поставить и настроить. А цена… мне хотя бы те деньги вернуть, что мне не заплатили. Договоримся.
#9 13 марта 2015 в 13:14
Странник, я стараюсь ТЗ сделать сейчас универсальным, фактически в процессе обдумывания компонент вырос из просто выгрузки в xls до полноценного экспорта — импорта, с возможностью подключения отдельных скриптов для выгрузки и загрузки с разных форматов. Если все получится то можно говорить о том что инстантцмс2 можно связать с любой системой начиная от любой цмс заканчивая 1С, согласно стандартам и привязки к ним полей инстанта в компоненте.
А вот по поводу постоянному обмену по крону, то это дело должно быть индивидуальным, потому как и хостинги у всех разные да и задачи.
#10 13 марта 2015 в 13:18
XLS это огромный оверхед.
Если принципиально нужно чтобы открывалось в Excel — используйте CSV
Если не принципиально — то YAML или JSON, как наиболее компактные форматы, для работы с которыми в InstantCMS уже есть все необходимое.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.