Jump to content

Search the Community

Showing results for tags 'Нужна помощь по DLE'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Поисковые системы
    • kemelqwerty
    • Яндекс
    • Google
    • Другие поисковики
    • SMO
    • Каталоги
    • Инструкции и уроки
  • Основные форумы
    • Оценка сайта
    • Новости
    • Контекстная реклама
    • Партнерские программы
    • Сервисы, программы и скрипты
    • Дизайн
    • Домены
    • Биржа сайтов
    • Сайтостроительство
    • Хостинг
    • Финансы
    • Разное
    • Конкурсы
  • Работа
    • Правила раздела
    • Дизайн
    • Копирайт/Рерайт
    • SEO
    • SMO/SMM
    • Программирование
    • Разное
  • Другое
    • О нас
    • Black List
    • White List
    • Оффтопик

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


ICQ


Skype


Местоположение


Интересы


Ваш сайт


Профиль ID

Found 1 result

  1. Добрый день уважаемые коллеги! У меня на сайте есть в полной новости модуль похожие материалы. Только он выводит всё подряд. А хотеось бы чтобы он всё таки выводил именно материалы из той же категории, а также из подкатегории, в которой находится сам материал. вот полный код модуля, который отвечает за вывод похожих материалов. Подскажите знающие люди где ошибка и как её исправить самостоятельно. Заранее благодарю. <?php if (!defined('DATALIFEENGINE')) die("Go fuck yourself!"); $userName = !empty($userName) ? $db->safesql(strip_tags(stripslashes($userName))) : false; $myConfig = array( 'userName' => $userName, 'catId' => !empty($catId) ? $catId : '1', 'template' => !empty($template) ? $template : 'relatednews', 'cachePrefix' => !empty($cachePrefix) ? $cachePrefix : 'rels3' . rand(100,100), 'cacheSuffix' => !empty($cacheSuffix) ? true : false ); $cacheName = md5(implode('_', $myConfig)); $myModule = false; $myModule = dle_cache($myConfig['cachePrefix'], $cacheName . $config['skin'], $myConfig['cacheSuffix']); if (!$myModule) { if (file_exists(TEMPLATE_DIR . '/' . $myConfig['template'] . '.tpl')) { if (!isset($tpl)) { $tpl = new dle_template(); $tpl->dir = TEMPLATE_DIR; } else { $tpl->result['myModule'] = ''; } $xfound = true; $xfields = xfieldsload(); $row = $db->query( "SELECT p.id, p.date, p.short_story, p.xfields, rating, news_read, p.comm_num, p.title, p.category, p.alt_name FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND id!=".$igroneid." AND category IN (".$category_id.") ORDER BY p.date DESC LIMIT 0,4" ); while ( $row = $db->get_row() ) { $now[$row['id']] = $row; }; if(is_array($now)) { $tpl->load_template($myConfig['template'] . '.tpl'); $tpl->copy_template = '<aside id="item_related" class="ignore-select"><div class="b_title">Похожие объявления</div><div class="list_items main_items">'; $tpl->compile('myModule'); foreach($now as $row) { $row['date'] = strtotime( $row['date'] ); if( ! $row['category'] ) { $my_cat = "---"; $my_cat_link = "---"; } else { $my_cat = array (); $my_cat_link = array (); $cat_list = explode( ',', $row['category'] ); if( count( $cat_list ) == 1 ) { $my_cat[] = $cat_info[$cat_list[0]]['name']; $my_cat_link = get_categories( $cat_list[0] ); } else { foreach ( $cat_list as $element ) { if( $element ) { $my_cat[] = $cat_info[$element]['name']; if( $config['allow_alt_url'] ) $my_cat_link[] = "<a href=\"" . $config['http_home_url'] . get_url( $element ) . "/\">{$cat_info[$element]['name']}</a>"; else $my_cat_link[] = "<a href=\"$PHP_SELF?do=cat&category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>"; } } $my_cat_link = implode( ', ', $my_cat_link ); } $my_cat = implode( ', ', $my_cat ); } $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']; } if( date( 'Ymd', $row['date'] ) == date( 'Ymd', $_TIME ) ) { $tpl->set( '{date}', $lang['time_heute'] . langdate( ", H:i", $row['date'] ) ); } elseif( date( 'Ymd', $row['date'] ) == date( 'Ymd', ($_TIME - 86400) ) ) { $tpl->set( '{date}', $lang['time_gestern'] . langdate( ", H:i", $row['date'] ) ); } else { $tpl->set( '{date}', langdate( $config['timestamp_active'], $row['date'] ) ); } $news_date = $row['date']; $tpl->copy_template = preg_replace_callback ( "#\{date=(.+?)\}#i", "formdate", $tpl->copy_template ); $tpl->set( '{category}', $my_cat ); $tpl->set( '{link-category}', $my_cat_link ); $row['title'] = stripslashes( $row['title'] ); $row['title'] = str_replace( "{", "{", $row['title'] ); $tpl->set( '{title}', $row['title'] ); if ( preg_match( "#\\{title limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $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->set( $matches[0], $row['title'] ); } $tpl->set( '{link}', $full_link ); $row['short_story'] = stripslashes( $row['short_story'] ); if( $user_group[$member_id['user_group']]['allow_hide'] ) $row['short_story'] = str_ireplace( "[hide]", "", str_ireplace( "[/hide]", "", $row['short_story']) ); else $row['short_story'] = preg_replace ( "#\[hide\](.+?)\[/hide\]#ims", "<div class=\"quote\">" . $lang['news_regus'] . "</div>", $row['short_story'] ); if (stripos ( $tpl->copy_template, "{image-" ) !== false) { $images = array(); preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['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-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->copy_template = str_replace( '{image-'.$i.'}', $url, $tpl->copy_template ); $tpl->copy_template = str_replace( '[image-'.$i.']', "", $tpl->copy_template ); $tpl->copy_template = str_replace( '[/image-'.$i.']', "", $tpl->copy_template ); } } $tpl->copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl->copy_template ); $tpl->copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl->copy_template ); } $tpl->set( '{text}', $row['short_story'] ); if ( preg_match( "#\\{text limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) { $count= intval($matches[1]); $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->set( $matches[0], $row['short_story'] ); } // Обработка дополнительных полей if( $xfound ) { $xfieldsdata = xfieldsdataload( $row['xfields'] ); foreach ( $xfields as $value ) { $preg_safe_name = preg_quote( $value[0], "'" ); if ( $value[6] AND !empty( $xfieldsdata[$value[0]] ) ) { $temp_array = explode( ",", $xfieldsdata[$value[0]] ); $value3 = array(); foreach ($temp_array as $value2) { $value2 = trim($value2); $value2 = str_replace("'", "'", $value2); if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" . urlencode( $value2 ) . "/\">" . $value2 . "</a>"; else $value3[] = "<a href=\"$PHP_SELF?do=xfsearch&xf=" . urlencode( $value2 ) . "\">" . $value2 . "</a>"; } $xfieldsdata[$value[0]] = implode(", ", $value3); unset($temp_array); unset($value2); unset($value3); } if( empty( $xfieldsdata[$value[0]] ) ) { $tpl->copy_template = preg_replace( "'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template ); $tpl->copy_template = str_replace( "[xfnotgiven_{$value[0]}]", "", $tpl->copy_template ); $tpl->copy_template = str_replace( "[/xfnotgiven_{$value[0]}]", "", $tpl->copy_template ); } else { $tpl->copy_template = preg_replace( "'\\[xfnotgiven_{$preg_safe_name}\\](.*?)\\[/xfnotgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template ); $tpl->copy_template = str_replace( "[xfgiven_{$value[0]}]", "", $tpl->copy_template ); $tpl->copy_template = str_replace( "[/xfgiven_{$value[0]}]", "", $tpl->copy_template ); } $xfieldsdata[$value[0]] = stripslashes( $xfieldsdata[$value[0]] ); if ( preg_match( "#\\[xfvalue_{$preg_safe_name} limit=['\"](.+?)['\"]\\]#i", $tpl->copy_template, $matches ) ) { $count= intval($matches[1]); $xfieldsdata[$value[0]] = str_replace( "</p><p>", " ", $xfieldsdata[$value[0]] ); $xfieldsdata[$value[0]] = strip_tags( $xfieldsdata[$value[0]], "<br>" ); $xfieldsdata[$value[0]] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $xfieldsdata[$value[0]] ) ) ) )); if( $count AND dle_strlen( $xfieldsdata[$value[0]], $config['charset'] ) > $count ) { $xfieldsdata[$value[0]] = dle_substr( $xfieldsdata[$value[0]], 0, $count, $config['charset'] ); if( ($temp_dmax = dle_strrpos( $xfieldsdata[$value[0]], ' ', $config['charset'] )) ) $xfieldsdata[$value[0]] = dle_substr( $xfieldsdata[$value[0]], 0, $temp_dmax, $config['charset'] ); } $tpl->set( $matches[0], $xfieldsdata[$value[0]] ); } else $tpl->copy_template = str_replace( "[xfvalue_{$value[0]}]", $xfieldsdata[$value[0]], $tpl->copy_template ); } } $tpl->set( '{news-id}', $row['id'] ); // Обработка дополнительных полей $tpl->compile('myModule'); }; $tpl->copy_template = '</div></aside>'; $tpl->compile('myModule'); $tpl->clear(); } $myModule = $tpl->result['myModule']; create_cache($myConfig['cachePrefix'], $myModule, $cacheName . $config['skin'], $myConfig['cacheSuffix']); $tpl->clear(); } else { $myModule = '<b style="color:red">Отсутствует файл шаблона: ' . $config['skin'] . '/' . $myConfig['template'] . '.tpl</b>'; } } echo $myModule; ?>
×
×
  • Create New...