Ответить
Генерирование ссылок разного типа
Отправлено: 28 Дек 2010#31
Так-с. У меня вот непонятки с логикой. как мне различить, когда показывать главную страницу модуля, а когда определенный материал?
т.е.
dom.ru/news
dom.ru/news/18
Добавлено 2010.12.28 23-26
Видимо тут мне без классов не справиться.
Получилось сделать ссылки на модули, но только на их главные страницы...
Кажись система таких ссылок мне пока что не по силам...
т.е.
dom.ru/news
dom.ru/news/18
Добавлено 2010.12.28 23-26
Видимо тут мне без классов не справиться.
Получилось сделать ссылки на модули, но только на их главные страницы...
Кажись система таких ссылок мне пока что не по силам...
Отправлено: 28 Дек 2010#32
Ты прав лучше сделать сразу классы, так как в будущем это все равно понадобиться. Хотя можно и на функциях и switch
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 29 Дек 2010#33
Решил все же делать.
Добавлено 2010.12.29 12-22
Отмеченные строки:
я тут различаю, где в адресе стоит слеш после модуля, а где его нет. По логике, вроде все верно, однако при втором варианте, где стоит слеш, документ открывается, но без подключенных стилей. Дампил массив значения одинаковы
Добавлено 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)==2 && str_word_count($path[1])==0 ) { // волнует это
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
Отправлено: 29 Дек 2010#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 . И люблю нашу команду)
Отправлено: 29 Дек 2010#35
щас почитаю про свитч и вдуплю чего он делает)
Добавлено 2010.12.29 12-50
а как туда доп. условие пихнуть?
Добавлено 2010.12.29 12-50
а как туда доп. условие пихнуть?
Отправлено: 29 Дек 2010#36
ну можно в самих блоках case его пихать
Добавлено 2010.12.29 12-57
Смотря что за условие. Ты бы писал конкретнее)
1
2
3
4
5
6
<?php switch ($c) {
case 1:
if () {
echo 'bleble';
}
break;?>
Добавлено 2010.12.29 12-57
Смотря что за условие. Ты бы писал конкретнее)
Отредактировано автором 29 Дек 2010
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 29 Дек 2010#37
на эту тему:
http://snipplr.com/view/4562/nice-urls-php-htaccess/
Добавлено 2010.12.30 10-48
- при таком урле, страница показывается, но не подключает стили и хтмл
- при таком все норм.
В чем ошибка?
Добавлено 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
В чем ошибка?
Отправлено: 30 Дек 2010#38
а как ты подключаешь стили все прочее? есть подозения что у тебя просто пути не правильные. Тоесть ты указал их таким образом что при каком то из обращений они уже не верны.
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 30 Дек 2010#39
1
2
<?php $templ = file_get_contents('templates/'. $tpl .'/default.html');?>
Code:
href="templates/{TPL}/style/cas.css"
Отправлено: 31 Дек 2010#40
что это $tpl?
Я же говорил пиши подробнее
Я же говорил пиши подробнее
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 95. Зарегистрированных: 0. Гостей: 95.