Все про Osclass

Тема в разделе "Osclass", создана пользователем maksim, 6 мар 2016.

  1. pro100john

    pro100john Создатель

    Регистр.:
    27 июн 2016
    Сообщения:
    22
    Симпатии:
    2
    Доброго дня всем! Не знаю в чем проблема, но у меня та же беда и с Pro XML Ads 2.0.2 Мне кажется проблема в самом osclass, либо его русской локализации. У меня 3.7.4, есть готовые XML файлы, но ни одной из программ, импорт не удается. Вроде и кодировка правильная, и теги, но Ad Importer выдает сообщение о том, что требуется больше времени, но так ничего и не импортирует, Pro XML Ads, тоже сыпет ошибками. Перерыл кучу форумов, но не нашел решения, как избавиться от ошибок, и успешно организовать пакетный импорт из XML на доску Osclass. Где-то даже встречалось упоминание о способе заливки данных напрямую в базу. Но подробного описания способа так и не нашел. Может имеет смысл завести отдельную ветку, где пользователи делились бы проблемами при импорте, и описывали способы решения возникающих проблем при экспорте. Может и на мою проблему кто-то откликнется, может и не бесплатно. Хочется наладить этот процесс, чтобы все четко импортировалось, чтобы пришло понимание процесса. Всем форумчанам, всего самого доброго!!! Благодаря вашим обсуждениям, приходит драгоценный опыт!!! Ниже приложу скрины с моими ошибками.
     

    Вложения:

  2. Seoadd

    Seoadd

    Регистр.:
    21 окт 2012
    Сообщения:
    230
    Симпатии:
    65
    Вы бы лучше логи ошибок выложили. То что скрины приложили не несет никакой информации, еще и сам плагин выложите. Так можно будет решить вашу проблему.
    Могу только подсказать в каком направлении двигаться с символами вместо названий категорий, тут нужно обратить внимание на данный код:

    PHP:
                                    <?php
                                    $result 
    Category::newInstance()->findRootCategories();
                                    foreach (
    $result as $row) {
                                        echo 
    "<option value='" osc_esc_html($row['s_name']) . "'>" strtoupper(utf8_encode($row['s_name'])) . "</option>";
                                        
    $subcategories Category::newInstance()->findSubcategories($row['fk_i_category_id']);
                                        foreach (
    $subcategories as $subcategory)
                                            echo 
    "<option value='" osc_esc_html($subcategory['s_name']) . "'>" utf8_encode($subcategory['s_name']) . "</option>";
                                    }
                                    
    ?>
    Строка:
    strtoupper(utf8_encode($row['s_name'])) - переводит название категории в верхний регистр и в юникод.
    В итоге я сделал так:
    PHP:
                    <div id="default_category">
                        <div class="form-row">
                            <div class="form-label"><?php echo __('Default Category''pro_xml_ads'); ?></div>
                            <div class="form-controls">
                                <select class="" id="category" name="category">
                                    <option value="0"><?php echo __('Select Default Category''pro_xml_ads'); ?></option>
                                    <?php
                                    $result 
    Category::newInstance()->findRootCategories();
                                    foreach (
    $result as $row) {
                                        echo 
    "<option value='" osc_esc_html($row['s_name']) . "'>" strtoupper($row['s_name']) . "</option>";
                                        
    $subcategories Category::newInstance()->findSubcategories($row['fk_i_category_id']);
                                        foreach (
    $subcategories as $subcategory)
                                            echo 
    "<option value='" osc_esc_html($subcategory['s_name']) . "'>" $subcategory['s_name'] . "</option>";
                                    }
                                    
    ?>
                                </select> *
                            </div>
                        </div>
                    </div>
    Но у меня старая версия плагина и я не ручаюсь что у вас то же самое. импорт у меня работает идеально.
     
    pro100john нравится это.
  3. pro100john

    pro100john Создатель

    Регистр.:
    27 июн 2016
    Сообщения:
    22
    Симпатии:
    2
    Доброго времени суток. Спасибо Вам огромное, что так быстро откликнулись на мою просьбу, а данный код в каком файле нужно поменять? И где взять коды ошибок? Я все сделаю, только носом ткните неуча)) Кстати, а плагин брал версии 2.0.2 в этой теме.Да и еще, мне тоже посоветуете старой версией воспользоваться, и не гнаться за новыми?
     
    Последнее редактирование: 11 янв 2019
  4. Seoadd

    Seoadd

    Регистр.:
    21 окт 2012
    Сообщения:
    230
    Симпатии:
    65
    Файл import.php в корне папки плагина. Ошибки в логах, данный вопрос адресуйте к вашему говнохостеру =)))
     
    pro100john нравится это.
  5. pro100john

    pro100john Создатель

    Регистр.:
    27 июн 2016
    Сообщения:
    22
    Симпатии:
    2
    Доброго времени суток! Сейчас пробовал все сделать так как вы написали. В плагине Pro XML Ads 2.0.2 строчки поменял, категории стали отображаться читабельно. Но импорт по-прежнему не получается. Проверил лог на сервере. Там в логах написано следующее:
    [Sat Jan 12 15:21:14 2019] [error] [client 188.43.116.59] PHP Warning: Invalid argument supplied for foreach() in /home/users/s/sitename/domains/sitename.ru/oc-content/plugins/pro_xml_ads/import_server.php on line 194, referer: https://sitename.ru/oc-admin/index.php?page=plugins&action=renderplugin&file=pro_xml_ads/import.php
    До этого ставил старую версию, на ней тоже не импортируются объявления, но ошибка другая:
    [Sat Jan 12 13:59:43 2019] [error] [client 188.43.116.59] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/users/s/sitename/domains/sitename.ru/oc-includes/osclass/utils.php:1738) in /home/users/s/sitename/domains/sitename.ru/oc-includes/osclass/utils.php on line 1743, referer: https://sitename.ru/oc-admin/index.php?page=plugins&action=renderplugin&file=pro_xml_ads/import.php
    Вот кусок из файла utils.php с 1736-1746:

    function osc_redirect_to($url, $code = null) {
    if(ob_get_length()>0) {
    ob_end_flush();
    }
    if($code!=null) {
    header("Location: ".$url, true, $code);
    } else {
    header("Location: ".$url);
    }
    exit;
    }
    А это из import-server.php строки с 194-214:

    foreach ($tags['custom_field'] as $custom_field) {

    $input_name = strval($custom_field);
    $value = strval($key->$custom_field);
    if ($input_name !== "" && $value !== "") {
    $field = Field::newInstance()->findByName($input_name);
    if (empty($field)) {
    $dao = new DAO();
    $query = "SELECT pk_i_id FROM " . $dao->getTablePrefix() . 't_category';
    $categories = $dao->dao->query($query)->result();
    $array_cat = "";
    foreach ($categories as $c)
    $array_cat[] = $c['pk_i_id'];
    Field::newInstance()->insertField(strval($custom_field), "TEXT", strval($custom_field), "", "", $array_cat);
    $field = Field::newInstance()->findByName($input_name);
    $item['meta'][$field['pk_i_id']] = $value;
    } else {
    $item['meta'][$field['pk_i_id']] = $value;
    }
    }
    }
    Если будет нужно, то файл импорта тоже приложу. Вижу что в тегах присутствует custom_fild, думал все из-за того, что я еще и номер телефона в объявление прописал под тегом contactphone. Потом убрал этот тег, но все равно ошибка остается.
     
  6. _kot

    _kot Постоялец

    Регистр.:
    16 ноя 2018
    Сообщения:
    54
    Симпатии:
    68
    твои куски кода это безнадежность, выложи для начала плагин, может кто и поможет бесплатно.
    и место откуда парсишь.
    и тему для какой парсишь.

    если начал парсить делай дамп по 1 штуке . 1.категория, 2. город, и т.д. и добавляй постепенно, с налету на шарика все запарсить не получится

    **х.тебе парсить надо вообще?
    если seo запалит одинаковый контент -попадет твой домен в черный список навечно и будешь вечно парсить, пока юзеры не пожулюутся что их объявы и данные на каком- то левом сайте, и залочит тебя хостер и т.д. все по кругу
     
    Последнее редактирование: 12 янв 2019
  7. pro100john

    pro100john Создатель

    Регистр.:
    27 июн 2016
    Сообщения:
    22
    Симпатии:
    2
    В старой версии Pro XML Ads такой проблемы нет. А вот в Pro XML Ads 2.0.2 в папке с плагином открываете файл import.php и заменяете строчки с 207 по 213 вот этим кодом:
    <?php
    $result = Category::newInstance()->findRootCategories();
    foreach ($result as $row) {
    echo "<option value='" . osc_esc_html($row['s_name']) . "'>" . strtoupper($row['s_name']) . "</option>";
    $subcategories = Category::newInstance()->findSubcategories($row['fk_i_category_id']);
    foreach ($subcategories as $subcategory)
    echo "<option value='" . osc_esc_html($subcategory['s_name']) . "'>" . $subcategory['s_name'] . "</option>";
    Вуаля, и категории становятся читабельны!!!
     
  8. pro100john

    pro100john Создатель

    Регистр.:
    27 июн 2016
    Сообщения:
    22
    Симпатии:
    2
    Плагин я брал здесь на форуме версия 2.0.2. Не думаю что он какой-то уникальный. Весь риск публикации "левого" контента понимаю, но нужно первоначальное наполнение не более.
    В плагине решена проблема кракозябр при выборе категорий.
     

    Вложения:

  9. pro100john

    pro100john Создатель

    Регистр.:
    27 июн 2016
    Сообщения:
    22
    Симпатии:
    2
    Я для эксперимента взял свои объявления и забил их в файл example.xml от Ad Importer, но не выходит их залить на сайт. Про парсинг вообще рано пока говорить, пока свои не могу залить. А ваш совет на будущее учту обязательно. Спасибо вам!
     
  10. Michael_Moscow

    Michael_Moscow Постоялец

    Регистр.:
    12 янв 2018
    Сообщения:
    123
    Симпатии:
    26
    Ребята привет. При переносе сайта на другой сервер отказались работать permalinks то бишь дружественные url. Не заметил сразу. Сайт на https от letsencript. в config.php вбил https. htacces тоже поправил. не включаются и всё дружественные url. Кто знает как исправить?