Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2009-03-11 17:16:28

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Обсуждение: новый формат ЧПУ

В настоящий момент я заканчиваю создание библиотеки, которая заменит собой старую систему работы с ЧПУ и позволит убрать из .htaccess'а все правила по перенастройке ссылок.

Сейчас на повестке дня встал следующий вопрос: в каком виде давать пользователям возможность редактировать формат ЧПУ.

Есть 2 варианта:
1. Наиболее гибкий, но сложный для понимания - для каждой строки пользователь может вводить:
1.1. Регулярное выражение, по которому идёт проверка ссылки
1.2. Таблица соответствий переменных, полученных в REGEX'е и переменным системы
1.3. Указание на плагин и его модуль, которому должно передаваться управление.

Пример:
REGEX: #^\/list\/(\d{1,3})\/{0,1}$#
MAPPING: 1 => 'id'
PLUGIN: news, show

Т.е. пользователь, вводя регулярное выражение, может сам учитывать типы и формат переменных, легко можно делать сложные конструкции... но пользователю необходимо понимать механизм написания регулярных выражений.


2. Наиболее понятный для понимания, но менее гибкий. Для каждой строки пользователь вводит:
2.1. Формат URL'а, аналогичный тому, который используется сейчас
2.2. Указание на плагин и его модуль, которому будет передаваться управление

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

[hr /]
Прошу высказаться - кому какой вариант больше нравится?
Нужно ли вообще всё это выносить в WEB интерфейс или достаточно сделать детальное описание и все изменения разрешить делать в конфигурационном файле?

Не в сети

#2 2009-03-11 18:02:53

icedogas
Участник
Откуда Москва
Зарегистрирован: 2009-02-08
Сообщений: 318
Рейтинг :   
Сайт

Re: Обсуждение: новый формат ЧПУ

Мне честно подходит так как есть, а вообще самый лучший вариант имхо это то как сделано в вордпресс
wp.jpg

Изменено icedogas (2009-03-11 18:03:12)

Не в сети

#3 2009-03-11 18:18:27

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Обсуждение: новый формат ЧПУ

vitaly пишет:

REGEX: #^\/list\/(\d{1,3})\/{0,1}$#
MAPPING: 1 => 'id'
PLUGIN: news, show

это жесть big_smile имхо надо проще, так что я за второй вариант tongue

vitaly пишет:

Нужно ли вообще всё это выносить в WEB интерфейс или достаточно сделать детальное описание и все изменения разрешить делать в конфигурационном файле?

WEB конечно более красиво будет, но в конфиг файле полазить не обломаюсь

Не в сети

#4 2009-03-11 18:27:19

Styler
Участник
Зарегистрирован: 2008-10-13
Сообщений: 279
Рейтинг :   11 

Re: Обсуждение: новый формат ЧПУ

Я за то чтобы если делать что-то, то делать это максимально удобно, настраиваемо и хорошо. Зачем делать заведомо менее гибкую реализацию? То есть, я естественно за первый вариант. Кто не знает, тот просто не будет трогать, либо будет обращаться на форум за помощью. Зачем же ограничивать тех людей, которые найдут этому применение?

Изменено Styler (2009-03-11 18:27:52)

Не в сети

#5 2009-03-11 18:52:20

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Обсуждение: новый формат ЧПУ

Styler пишет:

максимально удобно

считаешь вышеприведенные строчки максимально удобными? sad Я только за гибкость, но если для изменения формата ссылок пользователь должен понимать как составляются регулярные выражения... Мне кажется это перебор, посмотрим как выскажутся другие smile

Не в сети

#6 2009-03-11 19:40:45

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Обсуждение: новый формат ЧПУ

Первое будет лучше...
И желательно вынести всё в web интерфейс...

Не в сети

#7 2009-03-11 22:02:00

d7p4x
Модератор
Зарегистрирован: 2008-10-13
Сообщений: 199
Рейтинг :   
Сайт

Re: Обсуждение: новый формат ЧПУ

Переключение галкой - профи режим для чпу, режим для чайников. И будет всем радость )

Не в сети

#8 2009-03-11 23:03:06

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: Обсуждение: новый формат ЧПУ

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

Но, с точки зрения затраченного на написание кода времени, рулит первый вариант.

На счет гибкости готов поспорить, так как если человек разбирается в регулярных выражениях, то скорее всего он разбирается в программировании. В таком случае ему не составит особого труда

vitaly пишет:

...зарегистрировать в ядре список своих модулей и форматов переменных, которые можно использовать,

а потом

vitaly пишет:

...выбрать уже из списка готовых

А кто не разберется

Styler пишет:

...тот просто не будет трогать, либо будет обращаться на форум за помощью.

----------------------------------------------------------------------
п.с.: чтобы не сложилось иллюзий, лично меня вполне устраивает первый вариант, и в реализации он будет попроще


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#9 2009-03-11 23:59:37

SeeD
Участник
Откуда Москва
Зарегистрирован: 2008-10-13
Сообщений: 158
Рейтинг :   
Сайт

Re: Обсуждение: новый формат ЧПУ

меня и старый полностью устраивает, так что лишь бы обратная совместимость была и проиндексированные ссылки не отвалились нигде.


делай, что надо и будь, что будет

Не в сети

#10 2009-03-12 03:09:10

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Обсуждение: новый формат ЧПУ

Amarelius, а ведь действительно ОЧЕНЬ здравая идея!
Сделать второй вариант, а тем, кому хочется чего-то особенного - рассказать как модифицировать формат/набор возможных переменных.

Если не придумаю как бы совместить одновременно оба варианта в WEB интерфейсе - воспользуюсь твоей идеей smile

Не в сети

#11 2009-03-14 00:25:43

Trashcka
Участник
Откуда КиевГрад
Зарегистрирован: 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: Обсуждение: новый формат ЧПУ

Я за первый вариант.
И для тех кто не понимает, можно написать типа мини FAQ из серии: пропишишь это - получишь это, ну это уж для совсем бронетанковых, чтоб было.

Не в сети

#12 2009-03-14 00:38:31

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Обсуждение: новый формат ЧПУ

МиниFAQ не смешите меня...
Некоторые даже установить не могут, предполагают что при таком раскладе на форуме по этому поводу будет спрашивать каждый 3...

Не в сети

#13 2009-03-14 01:17:42

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Обсуждение: новый формат ЧПУ

Начал реализовывать.
Отдельное спасибо Amarelius'у за то, что навёл меня на интересную мысль.
Пойду по такому пути - основную сложность (представление переменных в виде регулярных выражений) будем возлагать на плагины и их авторов - плагин сможет сам задавать регулярные выражения для своих переменных. И на самом деле только плагин и знает в каком виде может быть представлена переменная.

Пользователь сможет выбирать только предопределённые плагином варианты,.. но при особом желании сможет модифицировать сам плагин и регулярное выражение в его настройках.

Не в сети

#14 2009-03-14 01:26:10

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Обсуждение: новый формат ЧПУ

vitaly пишет:

основную сложность (представление переменных в виде регулярных выражений) будем возлагать на плагины и их авторов

Кто у нас главный писатель плагинов big_smile

Не в сети

Подвал раздела

Работает на FluxBB