Все про Osclass

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

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>

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

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>

Но у меня старая версия плагина и я не ручаюсь что у вас то же самое. импорт у меня работает идеально.
Доброго времени суток. Спасибо Вам огромное, что так быстро откликнулись на мою просьбу, а данный код в каком файле нужно поменять? И где взять коды ошибок? Я все сделаю, только носом ткните неуча)) Кстати, а плагин брал версии 2.0.2 в этой теме.Да и еще, мне тоже посоветуете старой версией воспользоваться, и не гнаться за новыми?
 
Последнее редактирование:
Файл import.php в корне папки плагина. Ошибки в логах, данный вопрос адресуйте к вашему говнохостеру =)))
 
Файл import.php в корне папки плагина. Ошибки в логах, данный вопрос адресуйте к вашему говнохостеру =)))
Доброго времени суток! Сейчас пробовал все сделать так как вы написали. В плагине 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: Для просмотра ссылки Войди или Зарегистрируйся
До этого ставил старую версию, на ней тоже не импортируются объявления, но ошибка другая:
[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: Для просмотра ссылки Войди или Зарегистрируйся
Вот кусок из файла 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. Потом убрал этот тег, но все равно ошибка остается.
 
Доброго времени суток! Сейчас пробовал все сделать так как вы написали. В плагине 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: Для просмотра ссылки Войди или Зарегистрируйся
До этого ставил старую версию, на ней тоже не импортируются объявления, но ошибка другая:
[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: Для просмотра ссылки Войди или Зарегистрируйся
Вот кусок из файла 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. Потом убрал этот тег, но все равно ошибка остается.
твои куски кода это безнадежность, выложи для начала плагин, может кто и поможет бесплатно.
и место откуда парсишь.
и тему для какой парсишь.

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

**х.тебе парсить надо вообще?
если seo запалит одинаковый контент -попадет твой домен в черный список навечно и будешь вечно парсить, пока юзеры не пожулюутся что их объявы и данные на каком- то левом сайте, и залочит тебя хостер и т.д. все по кругу
 
Последнее редактирование:
Скачал установил
pro_xml_ads.zip но при выборе категории в настройках, категори на русском выводт выбор кракозябрами, гдето надо подправить на utf8 но где?
22jpg_3435932_23976161.jpg

В старой версии 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>";
Вуаля, и категории становятся читабельны!!!
 
твои куски кода это безнадежность, выложи для начала плагин, может кто и поможет бесплатно.
и место откуда парсишь.

**х.тебе парсить надо вообще?
если seo запалит одинаковый контент -попадет твой домен в черный список навечно и будешь вечно парсить, пока юзеры не пожулюутся что их объявы и данные на каком- то левом сайте, и залочит тебя хостер и т.д. все по кругу
Плагин я брал здесь на форуме версия 2.0.2. Не думаю что он какой-то уникальный. Весь риск публикации "левого" контента понимаю, но нужно первоначальное наполнение не более.
В плагине решена проблема кракозябр при выборе категорий.
 

Вложения

  • Pro XML Ads 2.0.2.zip
    1,7 MB · Просмотры: 93
если начал парсить делай дамп
Я для эксперимента взял свои объявления и забил их в файл example.xml от Ad Importer, но не выходит их залить на сайт. Про парсинг вообще рано пока говорить, пока свои не могу залить. А ваш совет на будущее учту обязательно. Спасибо вам!
 
Ребята привет. При переносе сайта на другой сервер отказались работать permalinks то бишь дружественные url. Не заметил сразу. Сайт на https от letsencript. в config.php вбил https. htacces тоже поправил. не включаются и всё дружественные url. Кто знает как исправить?
каким образом переносил?
 
Ребята привет. При переносе сайта на другой сервер отказались работать permalinks то бишь дружественные url. Не заметил сразу. Сайт на https от letsencript. в config.php вбил https. htacces тоже поправил. не включаются и всё дружественные url. Кто знает как исправить?
1.mod rewrite ON?
2.проблема в htacess
3. config.php ?
4.проблемы на сервере(маловероятно, если только у тебя не vps или дедик, где потребуются возможно доп.настройки)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху