Хак Помогите с парсером контента

Тема в разделе "DLE", создана пользователем Anisun, 18 янв 2015.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. Anisun

    Anisun Постоялец

    Регистр.:
    8 дек 2014
    Сообщения:
    59
    Симпатии:
    12
    Здравствуйте имею парсер на DLE 9.8, ставлю на DLE 10.1
    Он парсит информацию,но не в дополнительные поля перечисленные в массиве $fields , он их оставляет пустыми.
    Код:
    $fields = array(
            'reference' => '',
            'year' => 'year',
            'eng_title' => 'eng_title',
            'country' => 'country',
            'genre' => 'genre',
            'type' => 'type',
            'premiere' => 'premiere',
            'director' => 'director',
            'manga' => 'manga',
            'author' => 'author',
            'mark' => 'mark',
            'rating' => 'rating',
            'votes' => 'votes'
       
        );
    

    Но если к примеру в

    Код:
    if ($fields['type'])
    {
    preg_match('|Тип</b>:\s*(.*?)<br>|is', $temp, $temp2);
    $result[$fields['type']] = $temp2[1];
    
    }
    
    if ($fields['premiere'])
    {
    preg_match('|Премьера</b>:\s*(.*?)<br>|is', $temp, $temp2);
    $result[$fields['premiere']] = preg_replace('|<[^>]+>|is', '', $temp2[1]);
    
    } 
    добавлять echo '<br>'.$temp2[1]; (думаю что не является правильным) то выводит но под кнопкой найти [​IMG]

    Код:
    if ($fields['type'])
    {
    preg_match('|Тип</b>:\s*(.*?)<br>|is', $temp, $temp2);
    $result[$fields['type']] = $temp2[1];
    echo '<br>'.$temp2[1];
    }
    
    if ($fields['premiere'])
    {
    preg_match('|Премьера</b>:\s*(.*?)<br>|is', $temp, $temp2);
    $result[$fields['premiere']] = preg_replace('|<[^>]+>|is', '', $temp2[1]);
    echo '<br>'.$temp2[1];
    } 

    Должно вообще это выводится в доп полях, но не выводится они остаются пустыми, как бы хоты сделать чтоб выводилось здесь?
    [​IMG]

    Помогите пожалуйста разобраться, заранее спасибо.
     

    Вложения:

    Последнее редактирование: 18 янв 2015
  2. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.020
    Симпатии:
    686
    1. Парсер состоит из одного файла? Обычно это странно, т.к. тот же парсер с кинопоиска по файлам не на один файл больше...
    2. Парсер под какую версию ДЛЕ заточен?
    3. Парсер на какую версию ДЛЕ установлен?
    4. При подобных просьбах либо выкладывают полный модуль в тему, либо - дорога к автору мода, или фрилансерам... поскольку не понятно какие файлы двига в момент установки были изменены и не видного полного кода модуля :mad:

    исправляй первое сообщение согласно правилам раздела, либо тема будет удалена :-]
     
  3. Anisun

    Anisun Постоялец

    Регистр.:
    8 дек 2014
    Сообщения:
    59
    Симпатии:
    12
    Да состоит то он со одного, та че странно то нормально и это, его же функционал не настолько богат.
     
  4. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.020
    Симпатии:
    686
    Понятно. В общем установку и настройку полностью сделал по инструкции сделал? У меня он что то ни на сервере ни на денвере работать отказывается категорически, при этом никаких ошибок не выдает :(
    Если у тебя на сайте поиск идёт нормально, то проверь содержание файла xfields.txt в engine/data
    Код:
    reference|reference||text||1|0|0|0
    year|year||text|year|1|0|0|0
    eng_title|eng_title||text|eng_title|1|0|0|0
    country|country||text|country|1|0|0|0
    genre|genre||text|genre|1|0|0|0
    type|type||text|type|1|0|0|0
    premiere|premiere||text|premiere|1|0|0|0
    director|director||text|director|1|0|0|0
    manga|manga||text|manga|1|0|0|0
    author|author||text|author|1|0|0|0
    mark|mark||text|mark|1|0|0|0
    rating|rating||text|rating|1|0|0|0
    votes|votes||text|votes|1|0|0|0
    конечно названия на русском может быть и другое, но остальное должно быть как есть...
     
  5. Anisun

    Anisun Постоялец

    Регистр.:
    8 дек 2014
    Сообщения:
    59
    Симпатии:
    12
    Да установка точно, все поля созданы, поставил на dle 10.3 тоже самое тоесть работает но поля пустыми оставляет. Проверил содержимое xfields.txt все как и должно быть. Фиг пойму почему так.
     

    Вложения:

    • Capture.PNG
      Capture.PNG
      Размер файла:
      21,2 КБ
      Просмотров:
      14
  6. Attyla

    Attyla

    Регистр.:
    21 ноя 2012
    Сообщения:
    157
    Симпатии:
    42
    Он у меня по "Наруто" вообще не захотел работать, не знаю как он у вас заработал, я на локалке пробовал. Возможно кодировка не та (у меня не появляется опция выбора фильма), не знаю. Предполагаю что ваша проблема в том что у доп. поле не совпадает id c тем по которым ищет в 103 так id="xf_rating" а в модуле
    Код:
    echo "document.getElementById('xfield[$key]').value = \"" . htmlspecialchars_decode($value) . "\";\r\n"; 
    хотя должен быть xf_$key. Ну вы поняли. Проблема скорее все в том что не совпадают ID в модуле и в админке. Можете для наглядности сравнить id доп. полей в 10.3 и 9.8 или более ранних версиях, например.