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



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

#1 Evgenius
Evgenius
  • Неактивные
  • 18 сообщений
  • Репутация: 1
0

Обновлено 09 марта 2013 - 11:26  Отправлено 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
  • Пользователь
  • 648 сообщений
  • Репутация: 195

Отправлено 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К   Количество загрузок: 80

  • 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
  • Неактивные
  • 622 сообщений
  • Репутация: 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

#11 Evgenius
Evgenius
    Topic Starter
  • Неактивные
  • 18 сообщений
  • Репутация: 1

Отправлено 09 марта 2013 - 11:26

Решено.
в модреврайте нужно только поменять Rewrite Base / на Rewrite Base /test/ (в моем случае)
а ошибку выдавала mysql_real_escape_string, т.к. у меня не было выполнено на тот момент подключение к базе.
Теперь все работает.
  • 0

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


Похожие темы
  Название темы Автор Статистика Последнее сообщение

Пользователь месяца
Megoydagi Megoydagi 1-й за Август
Очков активности: 30 4 темы, 8 сообщений, 1 балл репутации
Сайт: bank.net.ru
ТОП самых активных за этот месяц
  • Фотография Vmir
    #1

    Vmir
    Очков активности: 22.5 3 темы, 6 сообщений, 1 балл репутации

  • Фотография BLIK
    #2

    BLIK
    Очков активности: 18 Вне конкурса за определение пользователя месяца

  • Фотография kuztoday
    #3

    kuztoday
    Очков активности: 10.5 1 тема, 4 сообщения, 1 балл репутации

  • Фотография SergiuS85
    #4

    SergiuS85
    Очков активности: 10.5 2 темы, 1 сообщение, 1 балл репутации

  • Фотография kolver
    #5

    kolver
    Очков активности: 9 1 тема, 3 сообщения, 1 балл репутации

  • Фотография mkreine
    #6

    mkreine (analiz-krovi.net)
    Очков активности: 9 1 тема, 3 сообщения, 1 балл репутации

  • Фотография Megoydagi
    #7

    Megoydagi (bank.net.ru)
    Очков активности: 9 Вне конкурса за определение пользователя месяца

  • Фотография Totti
    #8

    Totti
    Очков активности: 7.5 0 тем, 5 сообщений, 1 балл репутации

  • Фотография wp01
    #9

    wp01
    Очков активности: 6 0 тем, 4 сообщения, 1 балл репутации

  • Фотография r0mZet
    #10

    r0mZet (rz-style.ru)
    Очков активности: 6 1 тема, 1 сообщение, 1 балл репутации

  • Показать весь ТОП 10

Поддержите форум! =)
Топ 5 участников по репутации

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