Adam

Подговление xml для экспорта в wordpress

Задача:
Для того чтобы реализовать каталог я хочу экспортировать категории и посты.
Я делаю эскпорт справочника из 1С в dbf
Далее dbf -> xml
Допутим получаю такой файл

[code- <?xml version="1.0"?>

<Information>
<Record>
<CODE>12969</CODE>
<DESCR>Соед.шина 100/3</DESCR>
<PARENT>12967</PARENT>
<GROUP></GROUP>
<FULLDESCR>Соед.шина 100/3</FULLDESCR>
<NDS>8</NDS>
<NP></NP>
</Record>
</Information>[/code]
И пытаюсь изменить формат пригодный для экспорта в wordpress, так

<?php
// открытие XML-файла
$xml = simplexml_load_file('export.xml');
 
// собираем категории
$i=0;
foreach($xml->Information->Record as $rec)
{
    if($rec->GROUP==1)
    {
        $glav['Name'][$i]=(string)$rec->DESCR;
        $glav['id'][$i]=(string)$rec->CODE;
        $glav['PARENT'][$i]=(string)$rec->PARENT;
        $i++;
    }
}
 
// открываем выходной файл и заносим шапку
$fw=fopen('output.xml', 'w');
fwrite($fw, '<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
    xmlns:excerpt="http://wordpress.org/export/1.0/excerpt/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:wp="http://wordpress.org/export/1.0/"
>
 
<channel>
');
 
// заносим категории в файл
for($i=0; $i<count($glav['id']); $i++)
{
    if($glav['PARENT'][$i]!='' and in_array($glav['PARENT'][$i], $glav['id']))
    {
        $glav['PARENT'][$i]=$glav['Name'][pos(array_keys($glav['id'], $glav['PARENT'][$i]))];
    }
    fwrite($fw, '<wp:category><wp:category_parent>'.$glav['PARENT'][$i].'</wp:category_parent><wp:cat_name>'.$glav['Name'][$i].'</wp:cat_name></wp:category>
    ');
}
 
// присваиваем постам имена их категорий вместо цифрового значения
$i=0;
foreach($xml->Information->Record as $rec)
{
    if($rec->GROUP=='')
    {
        $det['Name'][$i]=(string)$rec->FULLDESCR;
        $det['PARENT'][$i]=(string)$rec->PARENT;
        $i++;
    }
}
 
// заносим наши посты
for($i=0; $i<count($det['Name']); $i++)
{
    if($det['PARENT'][$i]!='' and in_array($det['PARENT'][$i], $glav['id']))
    {
        $det['PARENT'][$i]=$glav['Name'][pos(array_keys($glav['id'], $det['PARENT'][$i]))];
    }
    fwrite($fw, '
    <item>
    <title>'.$det['Name'][$i].'</title>
    <category>'.$det['PARENT'][$i].'</category>
    <content:encoded><![CDATA['.$det['Name'][$i].']]></content:encoded>
    <wp:status>publish</wp:status>
    <wp:post_type>post</wp:post_type>
</item>');
}
 
fwrite($fw, '</channel>
</rss>');
 
fclose($fw);
?>

Но код выходной файл получается такой

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
    xmlns:excerpt="http://wordpress.org/export/1.0/excerpt/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:wp="http://wordpress.org/export/1.0/"
>
 
<channel>

    <item>
    <title></title>
    <category></category>
    <content:encoded><![CDATA 
]></content:encoded> <wp:status>publish</wp:status> <wp:post_type>post</wp:post_type> </item></channel> </rss>

Т.е. пустые значения

Весь день с кодом колупаюсь и нет результа

Просьба помогите люди добрые!
Где ошибка?

Или возможно есть более простые:) способы решить задачу?
ps код не мой. взято здесь http://wp4you.ru/experimenti_s_wordpress/iz-1s-v-wordpress.html

Каталог продукции без плагинов

Доброго времени суток дамы и господа. Нужен ваш совет.

исходные данные

Две таблицы в MySql(кодировка utf8):

1. Структура категорий каталога. Простое дерево по parent_id

structure: id, parent_id, name

id – идентификатор категории,
parent_id – идентификатор родительской категории
name – имя катеогории

2. Таблица с товарами

goods: id, parent_id, articul, name, model, company, remains

id – PRIMARY KEY
articul – уникальный каталожный номер товара (UNIQUE KEY)
model – модель
company – компания
remains – остаток на складе на заданный момент времени

Тут будет только две категории Компания Модель.
Пост – из таблицы товары
Исходя из этого необходимо сделать каталог товаров на wordpress с возможностью заказа товара (не покупка, а просто в корзине будет фиксироваться заказанные позиции их коичество), человек заполняет форму со своими контактными данными. а поле каталожный номер заполняется атоматически. (в кач. формы думаю использовать cforms2)

Стоит ли тут использовать плагины для коммерции (наприм wp-shop)?
Или проще сдлеать стандартными средствами wordpress.
если последнее то как это организовать?
как я понимаю должен делать импорт файла, в формате структуры таблиц категории и посты.
Как это правильно реализовать не подскажите?

Любой совет или помощь будут значимы
Заранее спасибо за ваши ответы
ps В поиске по форуму нужных мне ответов не нашел

Anonymous
Отправить
Ответ на: