Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Вопрос по организации страниц

#1 Evgenius

Evgenius
  • Пользователь
  • 18 сообщений
  • Репутация: 1
0

Отправлено 25 Февраль 2013 - 20:34

задам наверно совсем глупый вопрос, для человека, который собрался писать админку :)

Вот, скажем, есть каталог продуктов.
На сайте, построенном на хтмлках, это выглядит как одна страничка, индексная, с таблицей всех продуктов и ссылками на них. И еще 10 страниц, на которых инфа о конкретном продукте.
А на сайте с БД контент индексной страницы генерируется циклом, который перебирает все записи в таблице БД по условиям и генерит таблицу и ссылки. Это я сделал. А вот дальше как? что-то совсем потерялся...
ссылка у меня собирается таким образом, к постоянному пути до каталога продуктов подставляется название фотографии (ну так сделал... не придумал, как по другому). Но не делать же мне сейчас 10 (уже php) страничек с продуктами... страничка продукта же должна создаваться динамически "на лету" и физически же страниц для каждого продукта на сервере не будет. Как этот раздел называется? а то я даже не знаю, что искать... Единственно, что близко к этой теме, это mod_rewrite, но это вроде для ЧПУ...

 

 

  • 0

#2 Mr.Developer

Mr.Developer
  • Пользователь
  • 73 сообщений
  • Репутация: 12

Отправлено 28 Февраль 2013 - 10:58

Проще сделать с единой точкой входа index.php которая будет обслуживать все 10 страниц:

1. Пишете правила для редиректов. К примеру у вас /catalog/brand/element должен обратиться к /catalog/index.php?brand=$1&element=$2 и соответственно /catalog/brand к /catalog/index.php?brand=$1
2. В index.php в зависимости от принятых параметров уже отображаете либо полный список продуктов (если нет параметров), список продуктов по бренду (если есть только brand) и конкретный товар (если есть element и brand)

В общих чертах получается так.
  • 0

#3 Evgenius

Evgenius
    Topic Starter
  • Пользователь
  • 18 сообщений
  • Репутация: 1

Отправлено 03 Март 2013 - 14:16

Проще сделать с единой точкой входа index.php которая будет обслуживать все 10 страниц:


а можно какой-нибудь пример? простенький совсем... а то, хоть убейте, не могу понять
сижу в гугле сейчас, туман рассеивается потихоньку, но готовых примеров не могу найти (всмысле полную страницу index.php), обсуждают в основном какие-то кусочки
  • 0

#4 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 03 Март 2013 - 16:39

а можно какой-нибудь пример? простенький совсем...

Evgenius,
вот тут был простенький набросок (даже два варианта на выбор): http://www.masterweb...dpost__p__68582
  • 0

#5 Mr.Developer

Mr.Developer
  • Пользователь
  • 73 сообщений
  • Репутация: 12

Отправлено 03 Март 2013 - 17:13

Evgenius, Можете поизучать микрофреймворк Fat Free
Там вам и роутинги с кешированием и с единой точкой входа, и простенький шаблонизатор, и также куча всего полезного и нужного в 50кб кода.


  • 0

#6 IGRIKRUS

IGRIKRUS
  • Пользователь
  • 9 сообщений
  • Репутация: 0

Отправлено 06 Март 2013 - 23:27

Проще сделать с единой точкой входа index.php


а можно какой-нибудь пример?


юзайте построение MVC систем если не хотите изучать фрамеворк
  • 0

#7 Evgenius

Evgenius
    Topic Starter
  • Пользователь
  • 18 сообщений
  • Репутация: 1

Отправлено 07 Март 2013 - 12:21

Здравствуйте!
фуф... как выяснилось, у меня все смешалось в голове, и шаблоны и одна точка входа... и вообще каша. Пока все это разделил в голове... Сейчас вроде разобрался с концепцией.
yury, спасибо за примеры, прочитав, понял какая у меня каша в голове была

Вот, что у меня получилось. Уменьшил сайт до трех разделов, для удобства. Главная страница, О нас, Продукция и Страничка ифы об отдельном продукте.
иерархия папок на сервере:

[content] тут лежат файлы в которых выбирается контент из БД (ну пока это просто строчка текста для простоты)
[modules] тут файлы, которые собирают страничку, подключают контент и главный шаблон
[templates] тут один файл, главный шаблон сайта (инклюдится хеадер, инклюдится меню, инклюдится контент и футер)
.htaccess
index.php

Хотел все файлы в виде кода выложить, но уж очень большая портянка получается (если нужно, все таки выложу), приарепил архив.
Т.е. получается так. В mod_rewrite все запросы на сайт перенаправляем в index.php и ждем появления запроса. Разбираем запрос и получаем массив элементов запроса, затем подключаем нужный файл.
И для каждой страницы получается два файла. Один, в папке modules, задает переменные для страницы, подключает файл контента (с тем же именем, в папке content) и общий шаблон (в папке templates).

На странице продукции, список из 2-ух продуктов сделал вручную, для простоты, по-идее список будет генериться циклом из БД.

Посмотрите пожалуйста архив, в денвере все работает. Если нужен код в сообщении, следующим запостю развернутый код файлов.
Наверно это самая идиотская реализация...
я правильно понял концепцию? или опять все перепутал?

Заранее спасибо!

Mr.Developer, с первого подхода ничего не понял в Fat Free, естественно... сейчас буду разбираться.

Прикрепленные файлы

  • Прикрепленный файл  mvc.zip   4,98К   Количество загрузок: 57

  • 0

#8 IGRIKRUS

IGRIKRUS
  • Пользователь
  • 9 сообщений
  • Репутация: 0

Отправлено 07 Март 2013 - 23:31

mvc.zip 4,98К

это не похоже на MVC

вот примерный MVC http://yadi.sk/d/O53gQyiY37aL2
там присутствует чпу и мини шаблонизатор написанный мной для примера
  • 0

#9 isvetlichniy

isvetlichniy
  • Пользователь
  • 619 сообщений
  • Репутация: 93

Отправлено 08 Март 2013 - 01:00

согласен с предыдущим автором. это все что угодно, но только не Model View Controller

рекомендую почитать http://ru.wikipedia....View-Controller

из готовых продуктов рекомендую посмотреть http://ru.wikipedia.org/wiki/Symfony
  • 0

#10 Evgenius

Evgenius
    Topic Starter
  • Пользователь
  • 18 сообщений
  • Репутация: 1

Отправлено 08 Март 2013 - 21:02

Ну ладно... опять все перепутал...
Решил пока отложить mvc и сделать как понимаю, т.к. скоро сдавать, а у меня еще конь не валялся. Mvc займусь после сдачи. А может потом и перепишу спокойно... сайт для фирмы, в которой работаю, т.к. что постоянно буду заниматься им.

Тут еще такой вопрос возник. Вот если сделать как у меня в архиве, с правилами mod_rewrite и парсингом запроса в файле index.php, то все работает. Это при условии, что .htaccess и index.php лежат в корне сайта.
А как прописать правила в .htaccess, если сайт расположен не в корне сервера, а во вложенной папке.
В корне сайта у меня работающий сайт, пока делаю новый, решил сделать его временно в папке site.ru/test. Как в этом случае прописать правила для mod_rewrite?
Перечитал тысячу статей по mod_rewrite, выдрал все волосы, но не могу заставить работать.
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru