CoolFiles.RU 0 Опубликовано: 10 сентября 2007 Рассказать Опубликовано: 10 сентября 2007 Доброго всем времени суток! В кратком и в полном содержании новости, есть замечательная вещь - {link-category}. У меня на сайте есть главная категория к примеру фильмы и подкатегории например боевик. Если для новости выбрать только одну категорию например боевик, то результат {link-category} будет такой Фильмы » Боевик, а если несколько, например боевик и комедия то, результат такой Боевик, Комедия. А мне хотелось бы чтобы главная категория сохранялась, т.е. чтобы выглядело вот так Фильмы » Боевик, Комедия. Реально сделать так? Помогите плиз Заранее благодарен. Сайт CoolFiles.RU Ссылка на сообщение Поделиться на других сайтах
CoolFiles.RU 0 Опубликовано: 11 сентября 2007 Рассказать Опубликовано: 11 сентября 2007 Автор Помогите плиз, так и не смог сделать Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 11 сентября 2007 Рассказать Опубликовано: 11 сентября 2007 А что вы делали, пробывали? Показывайте Ссылка на сообщение Поделиться на других сайтах
kolyma 2 Опубликовано: 11 сентября 2007 Рассказать Опубликовано: 11 сентября 2007 CoolFiles.RU, так тебе что надо, разделитель поменять между категориями? и как понять "чтобы главная категория сохранялась"? Ссылка на сообщение Поделиться на других сайтах
CoolFiles.RU 0 Опубликовано: 11 сентября 2007 Рассказать Опубликовано: 11 сентября 2007 Автор Я пробывал изменять вот этот код : 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['ajax']) $go_page = "onclick=\"DlePage('do=cat&category={$cat_info[$element]['alt_name']}'); return false;\" "; else $go_page = ""; if ($config['allow_alt_url'] == "yes") $my_cat_link[] = "<a {$go_page}href=\"".$config['http_home_url'].get_url($element)."/\">{$cat_info[$element]['name']}</a>"; else $my_cat_link[] = "<a {$go_page}href=\"$PHP_SELF?do=cat&category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>"; } } $my_cat_link = stripslashes(implode (', ', $my_cat_link)); } $my_cat = stripslashes(implode (', ', $my_cat)); } $row['category'] = intval ($row['category']); if (isset($view_template) AND $view_template == "rss") $row['title'] = htmlspecialchars ( $row['title'], ENT_QUOTES); $news_find = array( '{date}' => langdate($config['timestamp_active'], $row['date']), '{comments-num}' => $row['comm_num'], '{views}' => $row['news_read'], '{category}' => $my_cat, '{link-category}' => $my_cat_link, '{category-icon}' => $cat_info[$row['category']]['icon'], '{news-id}' => $row['id'], '{PAGEBREAK}' => '', '{rssdate}' => date("r", $row['date']), '{rssauthor}' => $row['autor'], ); Он одинаковый для show.full.php, show.short.php, search.php. Пробывал изменять методом научного тыка слабоват я в php но по опыту программирования на delphi предполагаю что менять надо вот эту строку(Хотя могу ошибаться): $my_cat_link[] = "<a {$go_page}href=\"".$config['http_home_url'].get_url($element)."/\">{$cat_info[$element]['name']}</a>"; else $my_cat_link[] = "<a {$go_page}href=\"$PHP_SELF?do=cat&category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>"; А вот как, так и не понял. Повторюсь, что мне нужно: При выборе одной подкатегории выводится и категория и подкатегория, например Фильмы » Боевик, а при выборе нескольких подкатегорий, выводятся только подкатегории, например Боевик, Комедия, а мне нужно сделать чтобы при выборе нескольких подкатегорий выводилась сама категория и все подкатегории, например Фильмы » Боевик, Комедия. Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 12 сентября 2007 Рассказать Опубликовано: 12 сентября 2007 <engine/modules/functions.php> Функция get_categories ($id) Ссылка на сообщение Поделиться на других сайтах
CoolFiles.RU 0 Опубликовано: 12 сентября 2007 Рассказать Опубликовано: 12 сентября 2007 Автор lifestar, я так понял что, это функция отвечает за вывод категорий в speedbar. А мне нужно изменить тег {link-category} в кратком и полном содержании статьи. Если не прав, извини, поправляй. Ссылка на сообщение Поделиться на других сайтах
CoolFiles.RU 0 Опубликовано: 22 сентября 2007 Рассказать Опубликовано: 22 сентября 2007 Автор Я так понял что помощи здесь не дождусь Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 22 сентября 2007 Рассказать Опубликовано: 22 сентября 2007 CoolFiles.RU, я же тебе написал где копать Ссылка на сообщение Поделиться на других сайтах
Старпер C 0 Опубликовано: 23 сентября 2007 Рассказать Опубликовано: 23 сентября 2007 Этот хак подсказал в свое время celsoft - выводит последнюю субкатегорию /engine/modules/show.short.php Код $my_cat_link = stripslashes(implode (', ', $my_cat_link)); заменить на Код $my_cat_link = stripslashes(end($my_cat_link)); тоже самое и для /engine/modules/show.full.php ] Ссылка на сообщение Поделиться на других сайтах
CoolFiles.RU 0 Опубликовано: 23 сентября 2007 Рассказать Опубликовано: 23 сентября 2007 Автор lifestar, то что ты подсказал изменяет speedbar, но все равно спасибо, пригодилось Старпер C, спасибо дружище, теперь вроде врубился, а то уже отчаился. Ссылка на сообщение Поделиться на других сайтах
CoolFiles.RU 0 Опубликовано: 23 сентября 2007 Рассказать Опубликовано: 23 сентября 2007 Автор Друзья, подскажите как узнать главную(основную) категорию новости. Желательно без дополнительных запросов к базе. PS: Извинитие если достал уже этой темой Это финальный вопрос Ссылка на сообщение Поделиться на других сайтах
KillerHT 1 Опубликовано: 15 октября 2007 Рассказать Опубликовано: 15 октября 2007 Друзья, подскажите как узнать главную(основную) категорию новости. Желательно без дополнительных запросов к базе. PS: Извинитие если достал уже этой темой Это финальный вопрос stripslashes(implode (', ', $my_cat_link)); - так выводит полностью все категории новости stripslashes(end ($my_cat_link)); - так только последнюю stripslashes(reset ($my_cat_link)); - так только первую А как сделать так чтобы выводил все категории кроме первой (корневой)? т.е. чтобы выводил только подкатегории (без корневой категории) Подскажите пожалуйста.. Ссылка на сообщение Поделиться на других сайтах
CoolFiles.RU 0 Опубликовано: 15 октября 2007 Рассказать Опубликовано: 15 октября 2007 Автор stripslashes(implode (', ', $my_cat_link)); - так выводит stripslashes(implode (', ', $my_cat_link)); - так выводит полностью все категории новости stripslashes(end ($my_cat_link)); - так только последнюю stripslashes(reset ($my_cat_link)); - так только первую А как сделать так чтобы выводил все категории кроме первой (корневой)? т.е. чтобы выводил только подкатегории (без корневой категории) Подскажите пожалуйста.. stripslashes(implode (', ', $my_cat_link)); - воводит только все подкатегории, если новость находится в нескольких категориях. Т.е в моем случае не помогло. На твой вопрос ответ супер прост, если несколько категорий, то: stripslashes(implode (', ', $my_cat_link)); если одна категория то: stripslashes(end ($my_cat_link)); А вот кто бы мне помог, как же все-таки вывести, только главную категорию? Подскажите пожалуйста, перерыл везде ну нигде не нашел, во всяких различных модах запрос к базе делается, на скока я понял, или узнать главную категорию без запроса к базе не реально? ПОМОГИТЕ ПЛИИИИЗ!!!!!! Ссылка на сообщение Поделиться на других сайтах
KillerHT 1 Опубликовано: 16 октября 2007 Рассказать Опубликовано: 16 октября 2007 stripslashes(implode (', ', $my_cat_link)); - воводит только все подкатегории, если новость находится в нескольких категориях. Т.е в моем случае не помогло. На твой вопрос ответ супер прост, если несколько категорий, то: stripslashes(implode (', ', $my_cat_link)); если одна категория то: stripslashes(end ($my_cat_link)); А вот кто бы мне помог, как же все-таки вывести, только главную категорию? Подскажите пожалуйста, перерыл везде ну нигде не нашел, во всяких различных модах запрос к базе делается, на скока я понял, или узнать главную категорию без запроса к базе не реально? ПОМОГИТЕ ПЛИИИИЗ!!!!!! Ты читать умеешь?? Мне нужно выводить не все категории а все подкатегории - т.е. все кроме корневой. А для вывода всех категорий в которой находится новость используется stripslashes(implode (', ', $my_cat_link)); Если для тебя это не работает - либо проблема в версии движка - либо у тебя руки кривые. Ссылка на сообщение Поделиться на других сайтах
CoolFiles.RU 0 Опубликовано: 16 октября 2007 Рассказать Опубликовано: 16 октября 2007 Автор Ты читать умеешь?? Мне нужно выводить не все категории а все подкатегории - т.е. все кроме корневой. А для вывода всех категорий в которой находится новость используется stripslashes(implode (', ', $my_cat_link)); Если для тебя это не работает - либо проблема в версии движка - либо у тебя руки кривые. А ты читать умеешь?! stripslashes(implode (', ', $my_cat_link)); - воводит только все подкатегории, если новость находится в нескольких категориях. Это однозначно, покрайней мере в 6.2 stripslashes(end ($my_cat_link)); - так как вот этот код выводит только последнию категорию, то если новость находится ну скажем в категории Фильмы » Комедия то этот код и выведет тебе только твою подкатегорию в данном случае Комедия. Если для тебя это не работает - либо проблема в версии движка - либо у тебя руки кривые. Кажется ручки то кривые у тебя, раз не можешь сделать, то что уже есть в движке. И с движком у меня все нормально, просто мне нужно узнать код, который выводит только главную категорию, без запроса к базе. Вот например если новость в категориях Фильмы » Комедия, Боевик то вывести категорию Фильмы. Ссылка на сообщение Поделиться на других сайтах
KillerHT 1 Опубликовано: 16 октября 2007 Рассказать Опубликовано: 16 октября 2007 И с движком у меня все нормально, просто мне нужно узнать код, который выводит только главную категорию stripslashes(reset ($my_cat_link)); Вот это выводит только корневую категорию новости. раз не можешь сделать, то что уже есть в движке. Это тебе приснилось? Ну-ка покажи мне встроенную тему которая выводит только подкатегории. Ссылка на сообщение Поделиться на других сайтах
CoolFiles.RU 0 Опубликовано: 16 октября 2007 Рассказать Опубликовано: 16 октября 2007 Автор Цитата(CoolFiles.RU @ 16.10.2007, 12:04) И с движком у меня все нормально, просто мне нужно узнать код, который выводит только главную категорию stripslashes(reset ($my_cat_link)); Вот это выводит только корневую категорию новости. раз не можешь сделать, то что уже есть в движке. Это тебе приснилось? Ну-ка покажи мне встроенную тему которая выводит только подкатегории. Хватит е..т со мной разговаривать как-будто я мальчик какой-то. Мне ничего не снилось, если ты не можешь разобраться в таких простейших вещах, то я даже не знаю что сказать... Так ладно дружище давай выясним, про одно и тоже ли мы говорим. Рассказываю подробно: На моем сайте есть главные категории, возьмем одну из них, например Фильмы. У нее есть подкатегории, например Комедия, Боевик, Ужасы. Дак вот чтобы в моем случае вывести только подкатегории, нужно в show.full.php вот этот код: if (count($cat_list) == 1) { if ($allow_list[0] != "all" AND !in_array ($cat_list[0], $allow_list)) $perm = 0; $my_cat[] = $cat_info[$cat_list[0]]['name']; $my_cat_link = get_categories ($cat_list[0]); } else { foreach ($cat_list as $element) { if ($allow_list[0] != "all" AND !in_array ($element, $allow_list)) $perm = 0; if ($element) { $my_cat[] = $cat_info[$element]['name']; if ($config['ajax']) $go_page = "onclick=\"DlePage('do=cat&category={$cat_info[$element]['alt_name']}'); return false;\" "; else $go_page = ""; if ($config['allow_alt_url'] == "yes") $my_cat_link[] = "<a {$go_page}href=\"".$config['http_home_url'].get_url($element)."/\">{$cat_info[$element]['name']}</a>"; else $my_cat_link[] = "<a {$go_page}href=\"$PHP_SELF?do=cat&category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>"; } } $my_cat_link = stripslashes(implode (', ', $my_cat_link)); } $my_cat = stripslashes(implode (', ', $my_cat)); } $category_id = intval ($row['category']); поменять на: if (count($cat_list) == 1) { if ($allow_list[0] != "all" AND !in_array ($cat_list[0], $allow_list)) $perm = 0; $my_cat[] = $cat_info[$cat_list[0]]['name']; $my_cat_link = $cat_info[$cat_list[0]]['name']; } else { foreach ($cat_list as $element) { if ($allow_list[0] != "all" AND !in_array ($element, $allow_list)) $perm = 0; if ($element) { $my_cat[] = $cat_info[$element]['name']; if ($config['ajax']) $go_page = "onclick=\"DlePage('do=cat&category={$cat_info[$element]['alt_name']}'); return false;\" "; else $go_page = ""; if ($config['allow_alt_url'] == "yes") $my_cat_link[] = "<a {$go_page}href=\"".$config['http_home_url'].get_url($element)."/\">{$cat_info[$element]['name']}</a>"; else $my_cat_link[] = "<a {$go_page}href=\"$PHP_SELF?do=cat&category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>"; } } $my_cat_link = stripslashes(implode (', ', $my_cat_link)); } $my_cat = stripslashes(implode (', ', $my_cat)); } $category_id = intval ($row['category']); в show.short.php он почти аналогичен. stripslashes(reset ($my_cat_link)); - НЕ ВЫВОДИТ ТОЛЬКО КОРНЕВУЮ КАТЕГОРИЮ НОВОСТИ ЕСЛИ ОНА В НЕСКОЛЬКИХ ПОДКАТЕГОРИЯХ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Я не знаю как еще вопрос задать, попробую так: Есть ли код, который выводит только главную(корневую) категорию, если новость в нескольких подкатегориях, без дополнительного запроса к базе? Ссылка на сообщение Поделиться на других сайтах
KillerHT 1 Опубликовано: 16 октября 2007 Рассказать Опубликовано: 16 октября 2007 На моем сайте есть главные категории, возьмем одну из них, например Фильмы. У нее есть подкатегории, например Комедия, Боевик, Ужасы. Дак вот чтобы в моем случае вывести только подкатегории, нужно в У меня так же, главная категория "Клипы" а подкатегории - жанры, ну так у меня {category} выводит только корневую, а {category_link} должна выводить все жанры, но сейчас пока только один выводит, пытаюсь сделать чтобы все выводила.. Соответственно: $my_cat = stripslashes(reset($my_cat)); и $my_cat_link = stripslashes(end ($my_cat_link)); Ссылка на сообщение Поделиться на других сайтах
CoolFiles.RU 0 Опубликовано: 16 октября 2007 Рассказать Опубликовано: 16 октября 2007 Автор У меня так же, главная категория "Клипы" а подкатегории - жанры, ну так у меня {category} выводит только корневую, а {category_link} должна выводить все жанры, но сейчас пока только один выводит, пытаюсь сделать чтобы все выводила.. Соответственно: $my_cat = stripslashes(reset($my_cat)); и $my_cat_link = stripslashes(end ($my_cat_link)); У меня если новость в нескольких категориях, то {category} выводит только подкатегории без ссылки на них, а {link-category} то же самое только с сылками. А если в одной то {category} выводит подкатегорию, а {link-category} выводит корневую и подкатегорию. Люди ну будте поотзывчивее, помогите. Цитирую свой вопрос, уж миллионый раз: Есть ли код, который выводит только главную(корневую) категорию, если новость в нескольких подкатегориях, без дополнительного запроса к базе? Ссылка на сообщение Поделиться на других сайтах
CoolFiles.RU 0 Опубликовано: 17 октября 2007 Рассказать Опубликовано: 17 октября 2007 Автор Поддержка млин Ссылка на сообщение Поделиться на других сайтах
KillerHT 1 Опубликовано: 27 октября 2007 Рассказать Опубликовано: 27 октября 2007 Подскажите пожалуйста как сделать чтобы stripslashes(implode (', ', $my_cat_link)); Выводило все подкатегории категории кроме первой (корневой). Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Архивировано
Эта тема находится в архиве и закрыта для публикации сообщений.