![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| bugsb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
обычно содержимое страницы у меня меняется в зависимости от переменной $module
но сейчас стал понимать что так можно организовывать только маленькие проекты, т.к. если есть регистрация, авторизация, обычные страницы, фотогалерея, новостная лента и т.д., то получается вообще хлам... а если нужно добавить какой то модуль, нужно незабыть прописать в switch case его как обычно это реализуется в больших проектах? желательно так, чтобы модули можно было подключать не изменяя код руками постоянно) |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
в БД есть список страниц с путями и названием страницы. приходящее название просто подставляется в запрос
|
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
ну, для такой структуры сложно что-то придумать простое. разве что регистрацию модулей, как в вордпрессе.
именно поэтому лично я не люблю вообще такую систему. с какой стати индекс сайта должен показывать галерею? у нее что - своего индекса нет? |
|||
|
||||
| bugsb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
не понял. Сейчас у меня по умолчанию в примере выводиться модуль pages.php, который отвечает за вывод обычных текстовых страниц. А что за галерея? О_о bars80080, так? module_id | name | url +++++++++++++++++++++++++++++++++++++ 1 Контент ./module/pages.php 2 Регистрация ./module/users/reg.php 3 Авторизация ./module/users/login.php 4 Фотогалерея ./module/photos/index.php |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
согласно первому посту: module_id | name |module | url +++++++++++++++++++++++++++++++++++++ 1 Контент pages ./module/pages.php 2 Регистрация registration ./module/users/reg.php 3 Авторизация login ./module/users/login.php 4 Фотогалерея gallery ./module/photos/index.php [/quote] запрос: ... where module="'.mysql_real_escape_string($module).'" |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
||||
|
||||
| holms |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.11.2009 Репутация: нет Всего: нет |
А зачем лишний запрос? В таких двигах как dle или ipb ничего придумывать не стали. Как вариант вынести просто этот блок кода в отдельный файл и его инклудить.
|
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
затем, что файла login нет в папке modules
|
|||
|
||||
| bugsb |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
bars80080, спасибо. На данном этапе вроде все понятно, завтра попробую реализовать это.
но вот сейчас вопрос возник, для моего проекта это не столь значительно, но вот в серьезных проектах как это. есть движок, есть к нему доп. модули которые можно устанаваливать, а можно не устанавливать. В идеале голая цмс это только модуль отвечающий за вывод текстовых страниц. в движке есть папки к примеру /module/news/ - модуль новостей /templates/default/news/show.tpl - шаблон новостей скина по умолчанию /templates/black/news/show.tpl - шаблон новостей темного скина если мы следующие папки с файлами /module/gallery/ /template/dafault/gallery/ скопируем дополнительного модуля в папку с нашим движком, то скрипт будет работать корректно на скине default, а если выберем скин black, то там естественнно не обнаружаться шаблоны для модуля галереи. Если это сайт мой, то естественно я могу и в папку black закинуть нужные файлы, для меня не составит труда. А если движок мой, а скины пишут абсолютно разные люди (ну как на вордпресс, ипб, и пр.), им придется в свой скин встроить всевозможные модули?))) я знаю что я щас бред написал, но по логике получается так... мда... думаю надо мне будет заглянуть в какую нибудь цмс и посмотреть какие файлы в модулях они устанавливают и скины из чего состоят.... но раз напсиал это сообщение, надеюсь что кто-нибудь общий принцип объяснит Добавлено через 5 минут и 19 секунд
начал отвечать на первую цитату и до меня дошло о чем вы спрашивали. индекс всего сайта содержит подключение модулей, конфига, функций разных. у фотогалереи есть индекс, но он инклудится в индекс сайта. на сайте ведь обычно верх футер и левая/правая колонки одинаковые, меняется только центр. если я не прав, поправьте, как должно быть правильно, буду очень благодарен. |
||||
|
|||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
значит, по логике скины для модулей появляются сами по себе, без участия человека. из космического пространства а мне вот интересно, что будет, если у галереи появятся свои модули... Добавлено через 7 минут и 51 секунду
а это здесь при чем? какая разница, что меняется, а что не меняется? |
|||
|
||||
| bugsb |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
Ваня решил сделать сайт где будет выкладывать свои шаблоны для zzzCMS Миша же пишет для zzzCMS и модули и скины к своим модулям а я пользуюсь zzzCMS, зашел к Мише на сайт и скачал модули, потом зашел к Ване и скачал крутой скин. Кстати, Миша не знает о существовании Вани и пишет шаблоны только для default скина. В итоге у меня установлен скин "superskin", но система не хочет работать, т.к. там есть megascript у которого нет шаблонов в superskin'е. Добавлено через 9 минут и 16 секунд
такое ощущение что вы хотите чтобы я вам доказал что моя структура движка правильная, а я же хочу чтоб мне указали что я делаю не правильно и показали КАК НАДО ДЕЛАТЬ.
начнем с этого
а что должен показывать индекс сайта? по моему представлению он показывает ВСЕ. в зависимости от переменной module. если бы индекс сайта не включал в себя индекс фотогалереи, то индекс фотогалереи выглядел бы вот так
т.е. почти все тоже самое что имеет индекс сайта |
||||||||||
|
|||||||||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
вы хотите уподобиться еще одному участнику этой дискуссии он тоже все ищет себе религию, чтобы к ней прильнуть, и больше уже не думать. увы, так не получается. придумать Один Правильный Закон На Все Случаи Жизни невозможно. если какая-то часть сайта является достаточно самостоятельным сложным проектом, то не надо ее запихивать в ошейник ко всем остальным. ей будет неудобно. и причин никаких нету, кроме как чтобы сделать Правильно. плюс к этому вы сильно путаете между собой структуру программы и внешний вид сайта а они никак между собой не связаны. вообще никак. ваша самая главная ошибка заключается в том, что вы полагаете, будто index.php нужен для того, чтобы написать в нем include "left.tpl" а этого в индексе вообще не должно быть. |
|||
|
||||
| bugsb |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
ладно, я был не прав, я хочу чтоб мне показали в какую сторону думать)) вы же сами говорите что сейчас я делаю не правильно
я и раньше догадывался что его там не должно быть, но где он должен быть? в шаблоне? у меня шаблоны деляться на части header.tpl footer.tpl left.tpl и шаблоны для модулей. |
||||
|
|||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Дело не в частях. Делить можно как угодно.
Дело в структуре приложения. И ложных представлениях о ней. принцип работы веб приложения должен быть такой: сначала подготавливаются все данные, предназначенные для вывода на странице и только потом в браузер отдается хотя бы одна строчка. следовательно, пока модуль не подготовил все данные - никакого вывода быть не должно. следовательно, если сам по себе индекс никакой информации не выводит, то и вывода шаблона в нем быть не должно. то есть, меняется вся структура индекса. ему остаются только диспетчерские функции следовательно, если не используется mod_rewrite, то надобность в таком индексе просто отпадает. Это сообщение отредактировал(а) Ипатьев - 8.11.2009, 12:31 |
|||
|
||||
| g27 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 29.9.2007 Где: Vilnius Репутация: нет Всего: нет |
у меня так. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |