Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
02.03.2008, 18:12 | #1 |
Новенький
Регистрация: 23.01.2007
Сообщений: 25
|
Интеграция с Typo3 (CommerceML, CML, XML, 1С)
Привет всем.
Немного истории Потребовалось мне замутить интеграцию 1С и Тайпо3. Я поспрашивал среди ребят, как кто с этим сталкивался. Делом откликнулся Паша Антонов, подарил свой бэкенд модуль для обработки формата XML по стандарту CommerceML и внесения данных в базу, за что ему благодарность, уважение и их воплощение в виде моего интересного расширения. Теперь о главном. Bodytext Я начал адаптировать расширение к своим нуждам. Короче говоря, получился у меня модуль для внесения в БД Тайпо3 любого массива данных в формате XML. Я бы хотел поделиться этим расширением с сообществом, дабы нам всем вместе сделать его более универсальным, богатым всякими возможностями и примочками. Что же мы имеем сейчас? Расширение Сейчас расширение представляет из себя be-модуль, который берет входящий файл XML и на основе админской конфигурации вносит изменения в БД. Рассмотрим, что же поддерживает модуль. Я буду говорить применительно к 1С, но это может быть любая программа, способная экспортировать данные в XML. Поддерживается внесение нескольких таблиц с внешними ключами. То есть на основе внешних ключей можно создавать связи между таблицами. Поддерживаются дополнительные ключи. Например, в 1С записи стыкуются по полю, скажем, xmlid. На основе полученных с помощью этого поля связей модуль проставляет соответствующие pid товарам на страницах. Поддерживается еще вот такая фигня. Например есть в 1С таблица, которая в БД Тайпо3 не нужна. Но с ней есть связь, например, товаров и какому-то полю в таблице товаров следует задать значение определенного поля связанной записи во внешней таблице. Поддерживается предпроцессинг существующих записей. Например, всем существующим записям, которым больше 1 месяца, проставить поле hidden=1, скрыть. Поддерживается постпроцессинг. То есть полученная структура данных со связями и иерархией отдается пользовательской функции, которая может эти данные модифицировать как угодно. Поскольку мне достался нормальный такой XML на примерно 25 тыс. записей, его парсинг пришлось сделать поэтапным. То есть запускаешь модуль и он там шарашит и информаирует, что он сейчас конкретно делает. Все действия держатся в сессиях и внутренних файлах. То есть если во время парсинга у вас вырубится интернет, ничего страшного - через пару минут (или через месяц) вы придете и продолжите работу. Возможно есть и другие решения например запуск cli-скрипта по крону или без крона. Чего не хватает? Не хватает гибкости предпроцессинга. Не хватает четкости в обслуживании сессий и временных файлов. Нет поддержки М-М отношений. Что будем делать? Будем фигачить. Для этого предлагаю воспользоваться ресурсом assembla.com, который предоставляет SVN, tickets, wiki и другие полезные в разработке сервисы. Сейчас пытаюсь найти время чтобы залить модуль в SVN, дабы широкая общественность получила в нему доступ и соответственно попыталась улучшить ситуацию. UPD Я выложил версию xml_import Проект http://www.assembla.com/spaces/xml_import SVN http://svn2.assembla.com/svn/xml_import На данный момент образец xml предоставить не могу, да и оригинальный не нужен такой - файл весит 11мб. Зато образец конфигурации лежит в doc/ Этот файл надо включить в localconf.php Все желающие пишут сюда свои логины assembla и получают доступ на запись. Последний раз редактировалось azukari; 29.03.2008 в 01:49 |
28.03.2008, 22:38 | #2 |
Senior Member
|
а как насчёт организации прямого взаимодествия typo3 с базой 1С?
|
29.03.2008, 00:07 | #3 |
Новенький
Регистрация: 23.01.2007
Сообщений: 25
|
Посмотреть надо. Честно говоря по 1С даже по форматам экспорта материалов маловато. Ни примеров, ни человеческого объяснения, ни мануалов, нихрена. Не думаю, что с протоколами взаимодействия дела обстоят лучше.
|
29.03.2008, 00:21 | #4 |
Senior Member
|
ну, я примерно так и полагаю, что ничего не понятно.
просто как-раз всплыла примерно такая задача: предприятие работает на 1С, предполагается создание сайта на локальном сервере, на PostgreSQL.. местный системный администратор уверяет, что нет ничего проще, чем тягать данные прямо из существующей базы.. но меня терзают смутные сомнения. все решения, с которыми я сталкивался основаны именно на импорте экспортированных из 1С файлов, вряд ли все специально создают себе такие сложности. |
29.03.2008, 00:35 | #5 | |
Новенький
Регистрация: 23.01.2007
Сообщений: 25
|
Цитата:
|
|
29.03.2008, 01:21 | #6 |
Senior Member
|
пока не ясно даже в принципе как это всё будет выглядеть. typo3 на postgre вещь относительно нестандартная, да и о dbal у меня доволно смутные представления.
вообще, у 1С есть web-расширение, позволяющее как я понял, использовать данные базы на любом сайте. но документации я не нашёл, только общие слова. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
интеграция Typo3 и имеющегося flash шаблона | PHWizard | Работа и заказы / Job Offer and Request | 0 | 12.01.2008 00:34 |
требуется интеграция html в TYPO3 | lotus01 | Работа и заказы / Job Offer and Request | 0 | 23.10.2007 23:28 |
Есть ли в Typo3 интеграция с календарем Google? | Manas | Общие вопросы | 2 | 05.06.2007 17:33 |
Интеграция шаблона в TYPO3? | Limer =) | Общие вопросы | 0 | 20.01.2007 18:03 |
интеграция логина TYPO3 xt:Commerce | Sazykin | Работа и заказы / Job Offer and Request | 2 | 10.12.2006 02:57 |