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

Генерирование ссылок разного типа

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#31
Так-с. У меня вот непонятки с логикой. как мне различить, когда показывать главную страницу модуля, а когда определенный материал?

т.е.
dom.ru/news
dom.ru/news/18

Добавлено 2010.12.28 23-26

Видимо тут мне без классов не справиться.
Получилось сделать ссылки на модули, но только на их главные страницы...
Кажись система таких ссылок мне пока что не по силам...

Drunya

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

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

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#33
Решил все же делать.

Добавлено 2010.12.29 12-22

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
<?php if (isset($_GET['url'])) {
        
$path explode('/'$_GET['url']);
        if (
count($path)==1) { // волнует это
            
include_once 'modules/'strtolower($path[0]) .'/index.php'// волнует это
           

        elseif (
count($path)==&& str_word_count($path[1])==) { // волнует это
            
var_dump($path[0], $path[1]);
            include_once 
'modules/'strtolower($path[0]) .'/index.php'// волнует это
           
}
             else {
            
$_GET['id']=$path[1];
            include_once 
'modules/'$path[0] .'/show.php?id='$_GET['id'];
        }    
    }    else {include_once 
'modules/main/index.php';}?>

Отмеченные строки:
я тут различаю, где в адресе стоит слеш после модуля, а где его нет. По логике, вроде все верно, однако при втором варианте, где стоит слеш, документ открывается, но без подключенных стилей. Дампил массив значения одинаковы

Отредактировано автором 29 Дек 2010

Drunya

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

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
<?php $c count($path);

switch (
$c) {
   case 
1:
       
//чето делаем если у нас есть только модуль
       
break;
   case 
2:
       
//чето делаем если у нас есть только модуль и ИД
       
break;
   default:
       
//а это че делать если не предусмотренное количество элементов
       
break;
}
?>

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

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#35
щас почитаю про свитч и вдуплю чего он делает)

Добавлено 2010.12.29 12-50

а как туда доп. условие пихнуть?

Drunya

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

 1 
 2 
 3 
 4 
 5 
 6 
<?php switch ($c) {
   case 
1:
       if () {
          echo 
'bleble';
       }
       break;
?>

Добавлено 2010.12.29 12-57

Смотря что за условие. Ты бы писал конкретнее)

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

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#37
на эту тему:
http://snipplr.com/view/4562/nice-urls-php-htaccess/

Добавлено 2010.12.30 10-48

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
<?php switch ($n) {
            case 
1:
                include_once 
'modules/'strtolower($path[0]) .'/index.php';
                break;
            case 
2:
                if (
str_word_count($path[1])==0) {
                   include_once 
'modules/'strtolower($path[0]) .'/index.php'
                } else {
                    
$_GET['id']=$path[1];
                    include_once 
'modules/'$path[0] .'/show.php?id='$_GET['id'];
                }
                break;
        }
?>

Code:
cms_str/articles/
- при таком урле, страница показывается, но не подключает стили и хтмл
Code:
cms_str/articles
- при таком все норм.
В чем ошибка?

Drunya

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

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

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#39
 1 
 2 
<?php $templ file_get_contents('templates/'$tpl .'/default.html');?>

Code:
href="templates/{TPL}/style/cas.css"

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#40
что это $tpl?

Я же говорил пиши подробнее:)

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)
<< ... 2 3 4 5 6
Сейчас online: 44. Зарегистрированных: 2. Гостей: 42.