Язык
Контакты
GitHub
Поддержка
Регистрация
Войти
Логин: Пароль: Запомнить:
Пользователи
Последние сообщения
Ответить
1 2 3

Вывод контента в зависимости от url

LIFE-STALKER

  • Истенный Атомовод
  • Юзер
  • 363
  • Репутация:6 
  • Предупреждения: 0 
  • Регистрация:
    25 Июн 2011
#1
Здравствуйте, появилась необходимость выводить текст в зависимости от url страницы, пользуюсь вот таким кодом:
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
<?php if (false !==($action strpos($_SERVER['REQUEST_URI'], 'loads/category/1/'))) { 
    echo 
'что то к категории 1'
} else if(
false !==($action strpos($_SERVER['REQUEST_URI'], 'loads/category/2/'))) { 
    echo 
'что то к категории 1'
} else if(
false !==($action strpos($_SERVER['REQUEST_URI'], 'loads/category/3/'))) { 
    echo 
'что то к категории 1'
}
else {
    echo 
'';
}
?>
Код в принципе работает, но кода вставляют в какую либо категорию много букв, то работоспособность кода утрачивается, и возникает вот такая ошибка:
Code:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/life/domains/life-stalker.ru/public_html/sys/inc/document_parser.class.php(235) : eval()'d code on line 4
[quote]
В чем же может быть проблема?[/quote]

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#2
проблема в синтаксически не верном пхп коде снипета. по эому и вылетает ошибка при его выполнении.

попробуй юзать не стрпосЫ а
 1 
 2 
 3 
 4 
<?php $Register Register::getInstance();
$Register['module']; //текущий модуль
$Register['action']; //текущий экшен
$Register['params']; //текущие параметры(ид категории например)?>

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

LIFE-STALKER

  • Истенный Атомовод
  • Юзер
  • 363
  • Репутация:6 
  • Предупреждения: 0 
  • Регистрация:
    25 Июн 2011
#3
можно немного подробнее? какое условие и какие переменные юзать?

Сашка_из_Шебекино

  • Заклинатель Атома
  • Пользователь
  • 1803
  • Репутация:87 
  • Предупреждения: 0 
  • Регистрация:
    27 Мар 2011
#4
 1 
 2 
 3 
 4 
<?php $Register Register::getInstance();
if (
$Register['module']=='forum') {
      ...
}
?>

 1 
 2 
 3 
 4 
 5 
<?php $Register Register::getInstance();
if (
$Register['action']=='view_theme') {
      
// список экшенов можешь посмотреть в файлах модулей
      
...
}
?>

 1 
 2 
 3 
 4 
 5 
<?php $Register Register::getInstance();
if (
$Register['params']=='825') {
      
// эта тема
      
...
}
?>

Отредактировано автором 2 Мая 2012

LIFE-STALKER

  • Истенный Атомовод
  • Юзер
  • 363
  • Репутация:6 
  • Предупреждения: 0 
  • Регистрация:
    25 Июн 2011
#5
И так, стало понятно что этот код:
 1 
 2 
 3 
 4 
<?php $Register Register::getInstance();
if (
$Register['action']=='category') {
    echo (
"10-ая категория");
}
?>
Выводит во всех категориях надпись 10-ая категория, а как припаять её только к 10-ой категории, и только на первой странице категории?

Отредактировано автором 3 Мая 2012

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#6
LIFE-STALKER пишет:
Выводит во всех категориях надпись 10-ая категория, а как припаять её только к 10-ой категории, и только на первой странице категории?
Ну так все верно, тут мы просто проверяем экшен, но не ИД категории.

 1 
 2 
 3 
 4 
<?php $Register Register::getInstance();
if (
$Register['action']=='category' && !empty($Register['params']) && $Register['params'][0] == 10) {
    echo (
"10-ая категория");
}
?>
А вот так мы чекаем и ИД.

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

LIFE-STALKER

  • Истенный Атомовод
  • Юзер
  • 363
  • Репутация:6 
  • Предупреждения: 0 
  • Регистрация:
    25 Июн 2011
#7
Drunya, и в итоге он почему то ничего не выводит, ни в какой категории.

Сашка_из_Шебекино

  • Заклинатель Атома
  • Пользователь
  • 1803
  • Репутация:87 
  • Предупреждения: 0 
  • Регистрация:
    27 Мар 2011
#8
Register::getInstance() работает только начиная с версии 1.5, поэтому используй:
$_SESSION['module']
$_SESSION['action']
$_SESSION['params']

к примеру

 1 
 2 
 3 
<?php if ($_SESSION['action']=='category' && !empty($_SESSION['params']) && $_SESSION['params'][0] == 10) { 
    echo (
"10-ая категория"); 
}
?>

как то так примерно

LIFE-STALKER

  • Истенный Атомовод
  • Юзер
  • 363
  • Репутация:6 
  • Предупреждения: 0 
  • Регистрация:
    25 Июн 2011
#9
Забыл упомянуть что версия двига 1.5

Сашка_из_Шебекино

  • Заклинатель Атома
  • Пользователь
  • 1803
  • Репутация:87 
  • Предупреждения: 0 
  • Регистрация:
    27 Мар 2011
#10
ну всё равно попробуй моим способом

1 2 3
Сейчас online: 42. Зарегистрированных: 0. Гостей: 42.