- Автор темы
- #1
Проблема не простоая. Мало того, что структуру DLE знаю очень плохо, дак еще и не профи в программировании. Мало практики. Взялся вроде за простое дело, а нужно знать от и до.
Поэтому, если кому не лень потратить время и вникнуть в суть дела, помочь, где-то разжевать, буду очень благодарен.
Пытаюсь разработать модуль для ДЛЕ. Хочу сделать модуль фирм. Проблема в создании структуры файлов модуля и структуры кода в файле.
Насколько я понял, в ДЛЕ предусмотрены отдельные файлы для категорий, новости, поиска.
Если бы это был простенький каталог, то проблем то и не было. По аналогии с новостями. А мне нужно сделать с городами (странами, регионами) + категории. Города и категории по одной таблице в БД, через вложения (parentid). И для этой работы сделать один файл, например, category.php.
На фирму планирую отдельный файл.
Нужно чтобы пользователь мог начать ходить с главной сайта по городам, а также и по категории. И самое главное, нужно сделать ЧПУ url, чтобы примерно такой: site.ru/city/category/sub_category/sub_sub_category/
А потом перенести города на субдомены, так: city.site.ru/category/sub_category/sub_sub_category/
Проблемы такие:
1. как лучше сделать структуру файлов. На категории и города один файл или разные?
2. не знаю как сделать, структуру внутри файла.
Например, через switch-case, но как завязать на город и категорию одновременно, не знаю.
Дублировать в каждом case еще одну сортировку по городу неправильно, мне кажется.
Как вариант, думаю, чтобы сделать через присутствие и отсутствии переменной $city. Она просто добавляется в запрос SELECT * WHERE city='$city'. Если ее нет, то просто без этого доп.условия WHERE, просто по выбранной категории.
3. Но тогда, если пользователь сначала выбирает категорию, а города нет. Как будет формироваться url в этом случае.
4. как формируется url с ЧПУ, например, index.php?do=firm&view=cat&cat=5. Переменная cat передается в переменную, а она преобразует, формируя url, используя рекурсию. Правильно? Или используются другие методы?
и какие url адреса без ЧПУ (с get параметрами) лучше сформировать для:
- сайт.ру/модуль/страна (либо регион, город)
- сайт.ру/модуль/категория/подкатегория/подподкатегория
- сайт.ру/модуль/город/категория/подкатегория
- сайт.ру/модуль/фирма (а потом: фирма.сайт.ру)
В общем, каша в голове...
Я это дело вижу так, хотя и не знаю, правильно ли это, и будет ли работать, будет ли возможность развития...
url такой: index.php?do=firm&city=5&cat=5
Параметры передаются в функцию города и категории. Город всегда один каталог /moscow/
А категория преобразуется функцией рекурсивно в /cat/sub_cat/sub_sub_cat/
Если $city не выбрано, то она равна "all": index.php?do=firm&view=cat&cityid=all&cat=5
Точно также с $cat: index.php?do=firm&city=5&cat=all
А структуру файла firm.php примерно такая:
switch($view){
case "cat":
-----
case "all":
-----
}
Но как учесть город, не знаю...
Поэтому, если кому не лень потратить время и вникнуть в суть дела, помочь, где-то разжевать, буду очень благодарен.
Пытаюсь разработать модуль для ДЛЕ. Хочу сделать модуль фирм. Проблема в создании структуры файлов модуля и структуры кода в файле.
Насколько я понял, в ДЛЕ предусмотрены отдельные файлы для категорий, новости, поиска.
Если бы это был простенький каталог, то проблем то и не было. По аналогии с новостями. А мне нужно сделать с городами (странами, регионами) + категории. Города и категории по одной таблице в БД, через вложения (parentid). И для этой работы сделать один файл, например, category.php.
На фирму планирую отдельный файл.
Нужно чтобы пользователь мог начать ходить с главной сайта по городам, а также и по категории. И самое главное, нужно сделать ЧПУ url, чтобы примерно такой: site.ru/city/category/sub_category/sub_sub_category/
А потом перенести города на субдомены, так: city.site.ru/category/sub_category/sub_sub_category/
Проблемы такие:
1. как лучше сделать структуру файлов. На категории и города один файл или разные?
2. не знаю как сделать, структуру внутри файла.
Например, через switch-case, но как завязать на город и категорию одновременно, не знаю.
Дублировать в каждом case еще одну сортировку по городу неправильно, мне кажется.
Как вариант, думаю, чтобы сделать через присутствие и отсутствии переменной $city. Она просто добавляется в запрос SELECT * WHERE city='$city'. Если ее нет, то просто без этого доп.условия WHERE, просто по выбранной категории.
3. Но тогда, если пользователь сначала выбирает категорию, а города нет. Как будет формироваться url в этом случае.
4. как формируется url с ЧПУ, например, index.php?do=firm&view=cat&cat=5. Переменная cat передается в переменную, а она преобразует, формируя url, используя рекурсию. Правильно? Или используются другие методы?
и какие url адреса без ЧПУ (с get параметрами) лучше сформировать для:
- сайт.ру/модуль/страна (либо регион, город)
- сайт.ру/модуль/категория/подкатегория/подподкатегория
- сайт.ру/модуль/город/категория/подкатегория
- сайт.ру/модуль/фирма (а потом: фирма.сайт.ру)
В общем, каша в голове...
Я это дело вижу так, хотя и не знаю, правильно ли это, и будет ли работать, будет ли возможность развития...
url такой: index.php?do=firm&city=5&cat=5
Параметры передаются в функцию города и категории. Город всегда один каталог /moscow/
А категория преобразуется функцией рекурсивно в /cat/sub_cat/sub_sub_cat/
Если $city не выбрано, то она равна "all": index.php?do=firm&view=cat&cityid=all&cat=5
Точно также с $cat: index.php?do=firm&city=5&cat=all
А структуру файла firm.php примерно такая:
switch($view){
case "cat":
-----
case "all":
-----
}
Но как учесть город, не знаю...