Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Вопрос? Вопрос по dle 13.2

Тема в разделе "Вопросы- ответы", создана пользователем dex, 15 окт 2019.

15.10.19 в 09:55
dex
15.10.19 в 14:00
15
748
0
  1. TopicStarter Overlay
    dex

    dex
    PRO Users

    Регистрация:
    15 янв 2019
    Сообщения:
    288
    Лучших ответов:
    1
    Рейтинги:
    +112 / 8 / -0
    Всем привет!
    Не нужно сразу шпынять меня, мол, не знаешь - че лезешь...

    - как вывести <img src="{image-1}"> в быстрый поиск;
    - как организовать быстрый поиск только по названию (знаю что вопрос заезженный, не смог найти ответ);
    - реально ли по одной ссылке открыть новости находящиеся в двух категориях (пример: есть категории "фильмы", "сериалы", "2019", нужно вывести сериалы+2019).

    -----
    Кто-нибудь реализовал функцию с запоминанием времени и серии в плеере kodik с последующим выводом на отдельную страницу "на чем остановился" ??
    -----

    P.S: DLE 13.2
     
    #1 dex, 15 окт 2019
    Последнее редактирование: 15 окт 2019
  2. Bashmak

    PRO Users

    Регистрация:
    25 фев 2017
    Сообщения:
    642
    Лучших ответов:
    1
    Рейтинги:
    +168 / 25 / -0
    Вроде в 13.3 эта настройка уже есть в коробке.
     
  3. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.399
    Лучших ответов:
    32
    Рейтинги:
    +4.020 / 115 / -0
    Так вроде или есть? Вот мне нравятся твои сообщения, пердануть - перданешь а по делу как всегда 0.
    Нет там нихрена.
     
    • Нравится Нравится x 1
    • Смешно Смешно x 1
  4. TopicStarter Overlay
    dex

    dex
    PRO Users

    Регистрация:
    15 янв 2019
    Сообщения:
    288
    Лучших ответов:
    1
    Рейтинги:
    +112 / 8 / -0
    PunPun, решений нет ?
    Знаю, тебе это по силам)
     
  5. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.399
    Лучших ответов:
    32
    Рейтинги:
    +4.020 / 115 / -0
    По поиску есть целый модуль DLE Search
    По остальному - готовых решений нет, только на заказ.
     
    • Нравится Нравится x 2
  6. Bashmak

    PRO Users

    Регистрация:
    25 фев 2017
    Сообщения:
    642
    Лучших ответов:
    1
    Рейтинги:
    +168 / 25 / -0
    А точно, перепутал с этим. Ну да и похуй как-то :)

    Я рад что тебе нравится :)
     
  7. Bashmak

    PRO Users

    Регистрация:
    25 фев 2017
    Сообщения:
    642
    Лучших ответов:
    1
    Рейтинги:
    +168 / 25 / -0
    Решений дохуя, просто парню нужно не лениться и нормально загуглить.
    Поиск по названию Новости
    Вопрос? - Как в dle сделать поиск только по названию?
    Как сделать поиск только по заголовкам?
     
    • Согласен Согласен x 1
  8. Bashmak

    PRO Users

    Регистрация:
    25 фев 2017
    Сообщения:
    642
    Лучших ответов:
    1
    Рейтинги:
    +168 / 25 / -0
  9. hent4iboys

    Забанен

    Регистрация:
    31 авг 2018
    Сообщения:
    694
    Лучших ответов:
    2
    Рейтинги:
    +140 / 27 / -0
    нет
    нет
    Вопрос? - Как в dle сделать поиск только по названию?
    Постер в быстром поиске
     
  10. TopicStarter Overlay
    dex

    dex
    PRO Users

    Регистрация:
    15 янв 2019
    Сообщения:
    288
    Лучших ответов:
    1
    Рейтинги:
    +112 / 8 / -0
    Я все это читал, на DLE 13.2 это не актуально (не работает). ДВАЖДЫ НАПИСАЛ ЧТО У МЕНЯ 13.2
    Адаптировать под DLE 13.2 не могу, знаний не хватает, по этому прошу помощи!
     
  11. TopicStarter Overlay
    dex

    dex
    PRO Users

    Регистрация:
    15 янв 2019
    Сообщения:
    288
    Лучших ответов:
    1
    Рейтинги:
    +112 / 8 / -0
  12. hent4iboys

    Забанен

    Регистрация:
    31 авг 2018
    Сообщения:
    694
    Лучших ответов:
    2
    Рейтинги:
    +140 / 27 / -0
    вот он
    Код:
    $db->query("SELECT id, short_story, title, date, alt_name, category FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id)  WHERE p.approve=1 AND e.disable_search=0".$this_date.$where_category." AND (short_story LIKE '%{$query}%' OR full_story LIKE '%{$query}%' OR xfields LIKE '%{$query}%' OR title LIKE '%{$query}%') ORDER by date DESC LIMIT 5");
    
     
  13. TopicStarter Overlay
    dex

    dex
    PRO Users

    Регистрация:
    15 янв 2019
    Сообщения:
    288
    Лучших ответов:
    1
    Рейтинги:
    +112 / 8 / -0
    Работает, но не совсем так как нужно. Ибо в таком случае в поиск выводится только название, и более ничего.
     
  14. hent4iboys

    Забанен

    Регистрация:
    31 авг 2018
    Сообщения:
    694
    Лучших ответов:
    2
    Рейтинги:
    +140 / 27 / -0
    попробуй
    $xf['poster'] заменить на $images;
     
  15. TopicStarter Overlay
    dex

    dex
    PRO Users

    Регистрация:
    15 янв 2019
    Сообщения:
    288
    Лучших ответов:
    1
    Рейтинги:
    +112 / 8 / -0
    $images; со знаком " ; " выдаёт ошибку.
    Без знака изображение не выводит.
     
  16. hent4iboys

    Забанен

    Регистрация:
    31 авг 2018
    Сообщения:
    694
    Лучших ответов:
    2
    Рейтинги:
    +140 / 27 / -0
    замени файл search.php(ajax)
    на это
    Код:
    <?php
    /*
    =============================================================================
    сделал гомэр(punpun)
    =============================================================================
    */
    @error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
    @ini_set ( 'display_errors', true );
    @ini_set ( 'html_errors', false );
    @ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
    define( 'DATALIFEENGINE', true );
    define( 'ROOT_DIR', substr( dirname(  __FILE__ ), 0, -12 ) );
    define( 'ENGINE_DIR', ROOT_DIR . '/engine' );
    include ENGINE_DIR . '/data/config.php';
    date_default_timezone_set ( $config['date_adjust'] );
    if( $config['http_home_url'] == "" ) {
      
        $config['http_home_url'] = explode( "engine/ajax/search_new.php", $_SERVER['PHP_SELF'] );
        $config['http_home_url'] = reset( $config['http_home_url'] );
        $config['http_home_url'] = "http://" . $_SERVER['HTTP_HOST'] . $config['http_home_url'];
    }
    require_once ENGINE_DIR . '/classes/mysql.php';
    require_once ENGINE_DIR . '/data/dbconfig.php';
    dle_session();
    $cat_info = get_vars( "category" );
    if( ! is_array( $cat_info ) ) {
        $cat_info = array ();
      
        $db->query( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" );
        while ( $row = $db->get_row() ) {
          
            $cat_info[$row['id']] = array ();
          
            foreach ( $row as $key => $value )
            {
                $cat_info[$row['id']][$key] = stripslashes( $value );
            }
      
        }
        set_vars( "category", $cat_info );
        $db->free();
    }
    $search = $db->safesql( htmlspecialchars ( trim(  strip_tags (convert_unicode( $_REQUEST['query'], $config['charset'] ) ) ), ENT_QUOTES, $config['charset']) );
    // Искл категории из поиска
    $sql = $db->query("SELECT id, short_story, full_story, title, date, alt_name, category, xfields FROM " . PREFIX . "_post WHERE " . PREFIX . "_post.approve=1 AND category NOT REGEXP '[[:<:]](33|21)[[:>:]]'". $this_date ."AND (short_story LIKE '%{$search}%' OR full_story LIKE '%{$search}%' OR xfields LIKE '%{$search}%' OR title LIKE '%{$search}%') ORDER by date DESC LIMIT 11");
    $total_buff = NULL;
    while($row = $db->get_row($sql))
    {
        $tpl = file_get_contents( ROOT_DIR . "/templates/". $config['skin'] ."/ajax_search.tpl");
        $row['date'] = strtotime( $row['date'] );
        $row['category'] = intval( $row['category'] );
      
        if( $config['allow_alt_url'] )
        {
            if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 )
            {
                if( $row['category'] and $config['seo_type'] == 2 )
                    $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
                else
                    $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";
            } else
                $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
        } else
            $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
        $row['title'] = stripslashes($row['title']);
        $tpl = str_replace('{title}', $row['title'], $tpl);
      
        $shortnews = $row['short_story'];
        $full_story = $row['full_story']; 
        if (stripos ( $tpl, "{fullimage-" ) !== false) {
            $images = array();
            preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['full_story'], $media);
            $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
            foreach($data as $url) {
                $info = pathinfo($url);
                if (isset($info['extension'])) {
                    if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue;
                    $info['extension'] = strtolower($info['extension']);
                    if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png')) array_push($images, $url);
                }
            }
            if ( count($images) ) {
                $i=0;
                foreach($images as $url) {
                    $i++;
                    $tpl = str_replace( '{fullimage-'.$i.'}', $url, $tpl );
                    $tpl = str_replace( '[fullimage-'.$i.']', "", $tpl );
                    $tpl = str_replace( '[/fullimage-'.$i.']', "", $tpl );
                }
            }
            $tpl = preg_replace( "#\[fullimage-(.+?)\](.+?)\[/fullimage-(.+?)\]#is", "", $tpl );
            $tpl = preg_replace( "#\\{fullimage-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl );
        }
      
        if ( preg_match( "#\\{title limit=['\"](.+?)['\"]\\}#i", $tpl, $matches ) ) {
            $count= intval($matches[1]);
            $row['title'] = strip_tags( $row['title'] );
            if( $count AND dle_strlen( $row['title'], $config['charset'] ) > $count ) {
                $row['title'] = dle_substr( $row['title'], 0, $count, $config['charset'] );
                if( ($temp_dmax = dle_strrpos( $row['title'], ' ', $config['charset'] )) ) $row['title'] = dle_substr( $row['title'], 0, $temp_dmax, $config['charset'] );
            }
            $tpl = str_replace($matches[0], $row['title'], $tpl);
        }  
      
        if ( preg_match( "#\\{full-story limit=['\"](.+?)['\"]\\}#i", $tpl, $matches ) ) {
            $count= intval($matches[1]);
          
            $row['full_story'] = preg_replace( "#<!--TBegin(.+?)<!--TEnd-->#is", "", $row['full_story'] );
            $row['full_story'] = preg_replace( "#<!--MBegin(.+?)<!--MEnd-->#is", "", $row['full_story'] );
            $row['full_story'] = preg_replace( "'\[attachment=(.*?)\]'si", "", $row['full_story'] );
            $row['full_story'] = preg_replace ( "#\[hide\](.+?)\[/hide\]#ims", "", $row['full_story'] );
            $row['full_story'] = str_replace( "</p><p>", " ", $row['full_story'] );
            $row['full_story'] = strip_tags( $row['full_story'], "<br>" );
            $row['full_story'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $row['full_story'] ) ) ) ));
            if( $count AND dle_strlen( $row['full_story'], $config['charset'] ) > $count ) {
                $row['full_story'] = dle_substr( $row['full_story'], 0, $count, $config['charset'] );
                if( ($temp_dmax = dle_strrpos( $row['full_story'], ' ', $config['charset'] )) ) $row['full_story'] = dle_substr( $row['full_story'], 0, $temp_dmax, $config['charset'] );
            }
            $tpl = str_replace($matches[0], $row['full_story'], $tpl);
        }
      
                        if (stripos ( $tpl2->copy_template, "{image-" ) !== false) {
              
                            $images = array();
                            preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $related['short_story'], $media);
                            $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
              
                            foreach($data as $url) {
                                $info = pathinfo($url);
                                if (isset($info['extension'])) {
                                    if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-minus" OR strpos($info['dirname'], 'engine/data/emoticons') !== false) continue;
                                    $info['extension'] = strtolower($info['extension']);
                                    if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png')) array_push($images, $url);
                                }
                            }
              
                            if ( count($images) ) {
                                $i=0;
                                foreach($images as $url) {
                                    $i++;
                                    $tpl2->copy_template = str_replace( '{image-'.$i.'}', $url, $tpl2->copy_template );
                                    $tpl2->copy_template = str_replace( '[image-'.$i.']', "", $tpl2->copy_template );
                                    $tpl2->copy_template = str_replace( '[/image-'.$i.']', "", $tpl2->copy_template );
                                }
              
                            }
                            $tpl2->copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl2->copy_template );          
                            $tpl2->copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl2->copy_template );
              
                        }
    
        if ( preg_match( "#\\{short-story limit=['\"](.+?)['\"]\\}#i", $tpl, $matches ) ) {
            $count= intval($matches[1]);
          
            $row['short_story'] = preg_replace( "#<!--TBegin(.+?)<!--TEnd-->#is", "", $row['short_story'] );
            $row['short_story'] = preg_replace( "#<!--MBegin(.+?)<!--MEnd-->#is", "", $row['short_story'] );
            $row['short_story'] = preg_replace( "'\[attachment=(.*?)\]'si", "", $row['short_story'] );
            $row['short_story'] = preg_replace ( "#\[hide\](.+?)\[/hide\]#ims", "", $row['short_story'] );
          
            $row['short_story'] = str_replace( "</p><p>", " ", $row['short_story'] );
            $row['short_story'] = strip_tags( $row['short_story'], "<br>" );
            $row['short_story'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $row['short_story'] ) ) ) ));
            if( $count AND dle_strlen( $row['short_story'], $config['charset'] ) > $count ) {
                $row['short_story'] = dle_substr( $row['short_story'], 0, $count, $config['charset'] );
                if( ($temp_dmax = dle_strrpos( $row['short_story'], ' ', $config['charset'] )) ) $row['short_story'] = dle_substr( $row['short_story'], 0, $temp_dmax, $config['charset'] );
            }
            $tpl = str_replace($matches[0], $row['short_story'], $tpl);
        }
      
        if($row['xfields'])
        {
            $xf_news = xfieldsdataload($row['xfields']);
            FOREACH($xf_news AS $name => $val)
            {
                IF(empty( $xf_news[$name] ))
                {
                    $tpl = preg_replace( "'\\[xfgiven_{$name}\\](.*?)\\[/xfgiven_{$name}\\]'is",        "",     $tpl);
                    $tpl = str_replace(  "[xfvalue_{$name}]",                                            '',        $tpl);
                    $tpl = preg_replace( "'\\[xfnotgiven_{$name}\\](.*?)\\[/xfnotgiven_{$name}\\]'si",    "\\1",    $tpl);
                }
                ELSE
                {
                    $tpl = preg_replace( "'\\[xfnotgiven_{$name}\\](.*?)\\[/xfnotgiven_{$name}\\]'is",     "",     $tpl);
                    $tpl = str_replace(    "[xfvalue_{$name}]",                                            $val,    $tpl);
                    $tpl = preg_replace( "'\\[xfgiven_{$name}\\](.*?)\\[/xfgiven_{$name}\\]'si",        "\\1",    $tpl);
                }
            }
        }
      
        $tpl = str_replace('{title}', $row['title'], $tpl);
        $tpl = str_replace('{category}', $cat_info[$row['category']]['name'], $tpl);
        $tpl = str_replace('{category-link}', get_url( $row['category'] ), $tpl);
        $tpl = str_replace('{full-link}', $full_link, $tpl);
        $tpl = str_replace('{short-story}', $shortnews, $tpl);
        $tpl = str_replace('{fullstory}', $full_story, $tpl);
        $tpl = str_replace('{date}', $row['date'], $tpl);
      
        $total_buff .= $tpl;
    }
    if($total_buff AND $total_buff != NULL AND $total_buff != "")
        echo $total_buff;
    else
        echo $buffer .= "<span class=\"notfound\">*тут текст ошибки на отс.новости*</span>";
    ?>
    
    в корне шаба создай файл,ajax_search.tpl
    и оформляй как хош
    ток там тег не {image-x},а {fullimage-x}
     
Похожие темы
  1. pit
    Ответов:
    2
    Просмотров:
    3.205
  2. pront
    Ответов:
    11
    Просмотров:
    1.285
Загрузка...
Яндекс.Метрика