Сейчас делаю модуль Проекты для своего сайта. Идею подсмотрел на http://moddb.com, только там поделено на моды/игры/аддоны, а я хочу это в один раздел запихнуть. Уже сделал:
при открытии /projects показывается список всех проектов. Если нажать на любой из них, к примеру /projects/test.htm то откроется небольшая страничка с описанием проекта и формой комментариев.
ещё сделал ссылку на создание новых проектов.
Но возникла проблема. Я хочу чтоб по адресу /projects/test/loads/ открывался список файлов, но:
1. надо убрать .htm из названия проекта, то есть частично отключить ЧПУ (то есть открывался по адресу /projects/test)
2. как вообще сделать адрес такого вида? (я про /projects/test/loads/)
LIFE-STALKER, не выход. Потому что надо чтоб только в этом модуле не было ЧПУ, а во всех он должен быть. К тому же в файлах, статьях и новостях должно остаться.
Вот примеры как должно выглядеть:
/projects/lost_alpfa/loads/reliase.htm
/projects/lost_alpfa/news/vyshla_russifikaciya.htm
ну тут только замутить плагин или поковырять исходный код. Можно юзать хук before_pather и в нем производить обработку урла. Короче парсить его как тебе угодно.
Я как модуль делаю. Вот там есть "function view" он отвечает за показ страницы с проектом и комментарием к нему. Вот надо чтоб этот проект открывался по адресу без .htm
то есть открытие не по ЧПУ, а названию
Добавлено2012.04.07 18-15
отключение ЧПУ в модуле получилось, благодаря смене function view {} на, к примеру, function viewp {}, а затем в /index.php примерно на 114 строке проверки если $pathParams[1] == viewp то не прибавлять окончание
Добавлено2012.04.07 18-16
теперь думаю как функцию всунуть в функцию, то есть вида
/projects/lost_alpfa/loads/reliase.htm
Добавлено2012.04.08 16-44
Нифига не получается, вот и понял обратную сторону модульности фапоса которая сейчас. вставить функцию в функцию не реально. так что модуль проекты будет представлять из себя тупо список проектов и ссылку на создание новых, а новости, файлы и прочее будут на своих местах. тему можно крыть. а Андрею хочу сказать чтоб после ORM занялся модулями
вообщето, сейчас если обратиться по адресу, например
/projects/view/bla/bla2/
то будет вызван модуль projects, экшен view и переданы в экшен два параметра bla и bla2. Остальную логику можно сделать в этом экшене. Например, если есть второй параметр, передать управление на другую функцию. Сорри, что по долгу отвечаю. Если буду сидеть на форуме, то 2.0 не скоро закончу. приходится жертвовать))
Drunya, спасибо, но уже не только сменил модуль проектов на моды и игры, но и давно сделал их http://modostroi.ru/ можешь посмотреть как я сделал если интересно