Lancee 0 Опубликовано: 24 мая 2007 Рассказать Опубликовано: 24 мая 2007 На данный момент остаются две проблемы с загрузкой на главной шаблонов shortstory для категорий: 1) Не отображаются шаблоны для категорий в листинге новостей. (грузится один дефолтный shortstory для всех категорий) 2) Не отображаются шаблоны для категорий в информации о пользователе. (грузится один дефолтный shortstory для всех категорий) Цитата Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 24 мая 2007 Рассказать Опубликовано: 24 мая 2007 (изменено) сматри..ты меня удивляешь...не понимаю, что тебе нужно... проблема с листингом решается путем добавления условия $cstart > 0 тобишь в short.story.php после: while($row = $db->get_row($sql_result)){ добавляем: if ($_SERVER['QUERY_STRING']=="" || $cstart > "0"||$cstart = "1"){$tpl->load_template("".$row['category'].".tpl");} else {$tpl->load_template('shortstory.tpl');} ps: условие $cstart = "1" добавил позже...не знаю почему, но без него не хотело отображать нужный скин на cstart=1... а зачем чтобы в инфе были разные шаблоны? мы же не глобально к каждой категори привязуем скин, а только для главной (ну и листинг сейчас...) Изменено 24 мая 2007 пользователем kenpark Цитата Ссылка на сообщение Поделиться на других сайтах
Myxa 0 Опубликовано: 24 мая 2007 Рассказать Опубликовано: 24 мая 2007 также интерисовал данный вопрос.. позже попробую заюзать вышенаписанное Цитата Ссылка на сообщение Поделиться на других сайтах
Lancee 0 Опубликовано: 24 мая 2007 Рассказать Опубликовано: 24 мая 2007 kenpark, вы меня не правильно понимаете) Я хочу чтобы к каждой категории отображался свой shortstory по всему сайту Спасибо вам kenpark. Сейчас все работает гладко. Вы очень помогли Цитата Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 24 мая 2007 Рассказать Опубликовано: 24 мая 2007 тю)) тогда все проще даже не придемаешь while($row = $db->get_row($sql_result)){ перед этим добавляем: $tru_la_la = "yes"; и после этого: if ($tru_la_la == "yes"){$tpl->load_template("".$row['category'].".tpl");} else {$tpl->load_template('shortstory.tpl');} тобишь получится вот такое: $tru_la_la = "yes"; while($row = $db->get_row($sql_result)){ if ($tru_la_la == "yes"){$tpl->load_template("".$row['category'].".tpl");} else {$tpl->load_template('shortstory.tpl');} просто топикстартеру другое требовалось я к тому и стремился зы.дава на ты а то мне аж не приятно как-то я сомневаюсь, что я старше некоторых Цитата Ссылка на сообщение Поделиться на других сайтах
Lancee 0 Опубликовано: 25 мая 2007 Рассказать Опубликовано: 25 мая 2007 kenpark ок)) Правда интересно получилось, предыдущий код тоже вроде везде подгружал нужный шаблон, или я где то не уследил? Цитата Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 25 мая 2007 Рассказать Опубликовано: 25 мая 2007 он не должен был везде...то из-за ошибочного условия...нужно как-то правильно. ну если те нужно везде, то лучше сделать как в последнем варианте, ну а если что-то конкретное, то нужно экспериментировать Цитата Ссылка на сообщение Поделиться на других сайтах
11111 0 Опубликовано: 25 мая 2007 Рассказать Опубликовано: 25 мая 2007 Автор kenpark респектос тебе дружище, мне помогло как я хотел что на главной был отдельный шаб для коротких новостей Цитата Ссылка на сообщение Поделиться на других сайтах
Lancee 0 Опубликовано: 25 мая 2007 Рассказать Опубликовано: 25 мая 2007 Записал код из последней версии. Красиво так все...) Спасибо ещё раз Цитата Ссылка на сообщение Поделиться на других сайтах
domeni 2 Опубликовано: 8 июня 2007 Рассказать Опубликовано: 8 июня 2007 (изменено) Хм... почему не отображаются дополнительные поля, точнее в них инфа не показывается, а просто теги... пример: [xfgiven_naz] [xfvalue_naz] [/xfgiven_naz] вот здесь наверно надо править ! else $tpl->load_template('shortstory.tpl'); if (stristr ($tpl->copy_template, "[xfvalue_")) $xfound = true; else $xfound = false; if ($xfound) $xfields = xfieldsload(); и вот здесь if ($xfound) { $xfieldsdata = xfieldsdataload ($row['xfields']); foreach ($xfields as $value) { $preg_safe_name = preg_quote($value[0], "'"); if (empty($xfieldsdata[$value[0]])) { $tpl->copy_template = preg_replace("'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template); } else { $tpl->copy_template = preg_replace("'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "\\1", $tpl->copy_template); } $tpl->copy_template = str_replace("[xfvalue_{$preg_safe_name}]", stripslashes($xfieldsdata[$value[0]]), $tpl->copy_template); } } Изменено 8 июня 2007 пользователем domeni Цитата Ссылка на сообщение Поделиться на других сайтах
Lancee 0 Опубликовано: 23 июня 2007 Рассказать Опубликовано: 23 июня 2007 Спасибо большое domeni, когда менял шаб столкнулся с этой проблемой! Сейчас все работает, ещё раз спасибо! Цитата Ссылка на сообщение Поделиться на других сайтах
domeni 2 Опубликовано: 23 июня 2007 Рассказать Опубликовано: 23 июня 2007 Спасибо большое domeni, когда менял шаб столкнулся с этой проблемой! Сейчас все работает, ещё раз спасибо! Т.е. Вы хотите сказать, что решили эту проблему ? Тогда, скажите как ! Цитата Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 24 июня 2007 Рассказать Опубликовано: 24 июня 2007 domeni, условие if (stristr ($tpl->copy_template, "[xfvalue_")) $xfound = true; else $xfound = false; if ($xfound) $xfields = xfieldsload(); нужно переместить и поставить после $tru_la_la = "yes"; while($row = $db->get_row($sql_result)){ if ($tru_la_la == "yes"){$tpl->load_template("".$row['category'].".tpl");} else {$tpl->load_template('shortstory.tpl');} Цитата Ссылка на сообщение Поделиться на других сайтах
Lancee 0 Опубликовано: 24 июня 2007 Рассказать Опубликовано: 24 июня 2007 (изменено) я просто вставил код if (stristr ($tpl->copy_template, "[xfvalue_")) $xfound = true; else $xfound = false; if ($xfound) $xfields = xfieldsload(); после else $tpl->load_template('shortstory.tpl'); получается что if (stristr ($tpl->copy_template, "[xfvalue_")) $xfound = true; else $xfound = false; if ($xfound) $xfields = xfieldsload(); прописан в двух местах Изменено 24 июня 2007 пользователем Lancee Цитата Ссылка на сообщение Поделиться на других сайтах
domeni 2 Опубликовано: 24 июня 2007 Рассказать Опубликовано: 24 июня 2007 так, а вот и косяки.. вылезли, к примеру у меня одна новость в двух катагориях, Пример: гламур [id=2], фото [id=7]соотв, у меня есть шаблон 2.tpl и 7.tpl, так при таком раксладе $tru_la_la = "yes"; while($row = $db->get_row($sql_result)){ if ($tru_la_la == "yes"){$tpl->load_template("".$row['category'].".tpl");} else {$tpl->load_template('shortstory.tpl');} получается, что у меян должен быть шаблон, вот такой 2,7.tpl надо подправить !!! кто подскажет? Цитата Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 25 июня 2007 Рассказать Опубликовано: 25 июня 2007 $sql_result = $db->query($sql_select); $tru_la_la = "yes"; while($row = $db->get_row($sql_result)){ $categ = substr ($row['category'], 0, 1); if ($tru_la_la == "yes"){$tpl->load_template("".$categ.".tpl");} else {$tpl->load_template('shortstory.tpl');} вот...будет брать меньшее ID... Цитата Ссылка на сообщение Поделиться на других сайтах
Myxa 0 Опубликовано: 25 июня 2007 Рассказать Опубликовано: 25 июня 2007 (изменено) это т.е. если допусти 20 категорий.. должно быть 20 файлов вида: 1.tpl, 2.tpl ... 20.tpl ?? Может кто нибудь сделает поудобнее.. типа модуля.. чтобы если допустим нужно изменить шаблон только 1й категории.. просто добавить шаблон допустим для ID=5 (5.tpl) или может что то я не так делаю? у меня прост сайт не загружается, пока не будет всех ID.tpl в папке с шаблоном PS: почему то такое на localhost'e .. Инструкция такая? Файл engine\modules\show.short.php Находим: $sql_result = $db->query($sql_select); while($row = $db->get_row($sql_result)){ Заменяем на: $sql_result = $db->query($sql_select); $tru_la_la = "yes"; while($row = $db->get_row($sql_result)){ $categ = substr ($row['category'], 0, 1); if ($tru_la_la == "yes"){$tpl->load_template("".$categ.".tpl");} else {$tpl->load_template('shortstory.tpl');} Изменено 25 июня 2007 пользователем Myxa Цитата Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 25 июня 2007 Рассказать Опубликовано: 25 июня 2007 $sql_result = $db->query($sql_select); while($row = $db->get_row($sql_result)){ $categ = substr ($row['category'], 0, 1); if ($categ == 1 || $categ == 2){$tpl->load_template("".$categ.".tpl");} else {$tpl->load_template('shortstory.tpl');} нужные ID вот здесь нужно указывать "$categ == 1 || $categ == 2" ну если нужно только одну категорию изменять, то отставляетм только $categ == 1, если 2, то $categ == 1 || $categ == 2, если 3, то $categ == 1 || $categ == 2 || $categ == 3 и т.д. Цитата Ссылка на сообщение Поделиться на других сайтах
Myxa 0 Опубликовано: 25 июня 2007 Рассказать Опубликовано: 25 июня 2007 почему то на localhost'e всё норм выводится.. а на сайте как было, так и осталось.. Цитата Ссылка на сообщение Поделиться на других сайтах
Myxa 0 Опубликовано: 3 июля 2007 Рассказать Опубликовано: 3 июля 2007 На категориях до ID=9 работает.. а например ID=26 не работает. как исправить? Цитата Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 3 июля 2007 Рассказать Опубликовано: 3 июля 2007 (изменено) if (strlen($row['category']) >= 2) $categ = substr ($row['category'], 0, 2); else $categ = substr ($row['category'], 0, 1); if ($categ == '10' || $categ == '2'){$tpl->load_template("".$categ.".tpl");} else {$tpl->load_template('shortstory.tpl');} попробуй так //не..не пробуй) нуна по-другому как-то Изменено 3 июля 2007 пользователем kenpark Цитата Ссылка на сообщение Поделиться на других сайтах
Myxa 0 Опубликовано: 3 июля 2007 Рассказать Опубликовано: 3 июля 2007 мне впринципе нужно только для ID=26 может подскажешь как сделать? хотяб для одной категории.. если сможешь, постучи в аську.. 113151 \ 160501 если получится, дам не большое вознагрождение Цитата Ссылка на сообщение Поделиться на других сайтах
domeni 2 Опубликовано: 3 июля 2007 Рассказать Опубликовано: 3 июля 2007 (изменено) ребята, так в итоге, как следать если новость в нескольких категориях размещена? причём, разные нвости в разм кол-ве категорий могут быть размещены !!! Изменено 3 июля 2007 пользователем domeni Цитата Ссылка на сообщение Поделиться на других сайтах
cyberknight 0 Опубликовано: 6 июля 2007 Рассказать Опубликовано: 6 июля 2007 есть простой но немного грузанутый для движка вариант Устанвливаете для сайта шаблон а для каждой категории ставите другой шаблон с нужными отличиями от первого и тогда на первой странце хоть что делай ! можно вообще без динамики а тока ссылки на категории оставть хотя... пробывал так делать но давно было и не помню толи была какая то с этим проблемка маленькая толи нет пробывал на 5.5 и выше с удовольствием узнаю ваши рецензии и критику и конечно же решения Цитата Ссылка на сообщение Поделиться на других сайтах
kenpark 0 Опубликовано: 6 июля 2007 Рассказать Опубликовано: 6 июля 2007 $koma = strpos($row['category'], ','); if ($koma >= 2) $categ = substr ($row['category'], 0, 2); else $categ = substr ($row['category'], 0, 1); if ($categ == '1' || $categ == '2'){$tpl->load_template("".$categ.".tpl");} else {$tpl->load_template('shortstory.tpl');} если нуна, то можно и для трицифрового ID сделать Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.