Support » Plugin: WooCommerce and 1C:Enterprise/1С:Предприятие Data Exchange » Затирается полное описание товара

  • При обмене затирается полное описание товара. Из архивного топика здесь у меня работает только вот такое решение: Правьте файл import.php в самом начале файла есть условие:

    define(‘WC1C_PRODUCT_DESCRIPTION_TO_CONTENT’, false);
    измените значение false на true

    Теперь описание из 1С выгружается в полное описание.
    Но мне нужно, чтобы было два разных описания одно в полном описании, другое в отрывке.
    Вот такое решение у меня не заработало.

    Что бы выгружать из 1С в краткое описание текст, который стоит до спец. символа | , и, соответственно, в полное описание текст после этого символа.

    function wc1c_replace_post($guid, $post_type, $is_deleted, $is_draft, $post_title, $post_name, $post_excerpt, $post_content, $post_meta, $category_taxonomy, $category_guids, $preserve_fields) {
    $post_id = wc1c_post_id_by_meta(‘_wc1c_guid’, $guid);

    if (!$post_excerpt) $post_excerpt = ”;
    if (WC1C_PRODUCT_DESCRIPTION_TO_CONTENT) {
    //CHANGED!
    //$post_content = $post_excerpt;
    //$post_excerpt = ”;

    //NEW!
    $content_arr = explode(“|”, $post_excerpt);
    if( count($content_arr) >= 2 ) {
    $post_excerpt = $content_arr[0]; // Краткое описание (после знака |)
    $post_content = $content_arr[1]; // Полное описание (до знака |)
    }
    else {
    $post_content = $post_excerpt;
    $post_excerpt = ”;
    }
    }

    Очень надеюсь на помощь!

    • This topic was modified 2 months, 3 weeks ago by sichinawa.
Viewing 8 replies - 1 through 8 (of 8 total)
  • Вопрос снят. Второй кусок работает. При копипасте ставились не те ковычки. Переписал руками, все заработало. Ура!

    Здравствуйте т.е. в текстовом описании в 1с, где 1024 символа можно писать максимум – Вы добавляете и короткое и полное используя спец. символ теперь? или у Вас из “файла описания для сайта” берётся описание? Просто у меня только из текстового хватается, которое ограничено, пока не понял как хватать из файла.

    @sichinawa Прошу прощения за второй пост, забыл Вас упомянуть в своём ответе. Не подскажите как заставить 1с брать описание из файла для описания, а не из текстового (короткого)?

    @hipimps я даже не пробовал из текстового файла, т.к. у меня чихарда с фотографиями так запарила, (их порядок все время меняется при обмене), что я отключил выгрузку присоединенных файлов вообще. Хватает стандартного поля с описанием в 1с. А в целом эта тема где-то о обсуждениях поднималась и была решена.

    @sichinawa да, вот в этой теме товарищ @paulkatz предложил вот такое решение, но оно к сожаление не сработало.

    При создании магазина для клиента возник вопрос, как из 1С передавать полное описание.
    Воспользовался советом weboriginal, но… 1С выгружает прикрепленный текстовый документ с полным описанием в директорию с файлами для обмена, но в товар описание не добавляется.

    В import.xml нашел строку со ссылкой на файл:

    <ЗначениеРеквизита>
    <Наименование>Файл</Наименование>
    <Значение>import_files/21/21dbcfbc-d89a-11e6-8be4-00e04c3b3d44_e7fc8b32-f02c-11e6-b1b2-00e04c3b3d44.txt</Значение>
    </ЗначениеРеквизита>

    после чего в import.php после 649 строки добавил следующий код:

    elseif ($requisite[‘Наименование’] == “Файл” && @$requisite[‘Значение’][0]) {
    $descfilepath = $data_dir.”/”.$requisite[‘Значение’][0];
    $dfsource = file_get_contents($descfilepath);
    $line_utf = iconv(‘WINDOWS-1251’, ‘UTF-8’, $dfsource);
    $post_content = $line_utf;
    unset($product[‘ЗначенияРеквизитов’][$i]);
    }

    Программист из меня так себе, и насколько хороша моя реализация сказать не могу, но это работает.

    • This reply was modified 2 months, 2 weeks ago by hipimps.

    @hipimps Вы попробуйте переписать руками, у меня вот не работало при копипасте решение. Может и здесь аналогичная история. Не будет же человек писать, что решение работает, если оно не работает.

    @sichinawa Я исправлял кавычки/знаки. Это решение 3 летней давности, думаю потому и не работает. Но, попробую ещё раз, может что и получится. Спасибо.

    У меня затирается и полное и краткое описания. При этом в базе 1С у товаров вообще нет описаний. Я хочу создавать описания в WC, но при этом плагин должен оставлять оба описания в покое. Как это сделать, какие строки закомментить, кто-нибудь подскажет?

Viewing 8 replies - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.