Ответить
Генерирование ссылок разного типа
Отправлено: 28 Dec 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 Dec 2010#32
Ты прав лучше сделать сразу классы, так как в будущем это все равно понадобиться. Хотя можно и на функциях и switch
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 29 Dec 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';}?>
Отмеченные строки:
я тут различаю, где в адресе стоит слеш после модуля, а где его нет. По логике, вроде все верно, однако при втором варианте, где стоит слеш, документ открывается, но без подключенных стилей. Дампил массив значения одинаковы
Edit by author 29 Dec 2010
Отправлено: 29 Dec 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 Dec 2010#35
щас почитаю про свитч и вдуплю чего он делает)
Добавлено 2010.12.29 12-50
а как туда доп. условие пихнуть?
Добавлено 2010.12.29 12-50
а как туда доп. условие пихнуть?
Отправлено: 29 Dec 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
Смотря что за условие. Ты бы писал конкретнее)
Edit by author 29 Dec 2010
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 29 Dec 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 Dec 2010#38
а как ты подключаешь стили все прочее? есть подозения что у тебя просто пути не правильные. Тоесть ты указал их таким образом что при каком то из обращений они уже не верны.
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 30 Dec 2010#39
1
2
<?php $templ = file_get_contents('templates/'. $tpl .'/default.html');?>
Code:
href="templates/{TPL}/style/cas.css"
Отправлено: 31 Dec 2010#40
что это $tpl?
Я же говорил пиши подробнее
Я же говорил пиши подробнее

Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Сейчас online: 8. Зарегистрированных: 0. Гостей: 8.