Форум → Сообщество → Профессиональная деятельность → Взаимопомощь → Нужен разбор URL как в WP
Нужен разбор URL как в WP
-
25 мая 2009 г. 1:31, спустя 5 часов 15 минут 9 секунд
По теме:
Упорядочил кое-что. Откомментировал кое-что. Шаблонизатор научил использовать "маршрутные ссылки". Кеш научил работать по времени.
http://cmf.org.ru/minimal-090525.zipιιlllιlllι унц-унц -
25 мая 2009 г. 1:32, спустя 1 минуту
Шаблонизатор научил использовать "маршрутные ссылки"
что это такое? можно?Сапожник без сапог -
-
25 мая 2009 г. 1:36, спустя 3 минуты 13 секунд
<li><a href="{#'topic', relId, related.1, related.0}">{$related.0}</a></li>
<a href="{#'archive:month', date}">here</a>ιιlllιlllι унц-унц -
25 мая 2009 г. 1:38, спустя 1 минуту 56 секунд
{#'archive:month', date}
ыыы. молодец! 5+Сапожник без сапог -
27 мая 2009 г. 17:48, спустя 2 дня 16 часов 10 минут
http://www.alik.su/articles/10-ugly-programming-techniques/#absence-of-named-arguments
ты готов платить избыточностью в шаблоне страницы лишь бы уйти от избыточности в конфиге.
дело твоё, а я не согласен
случайно наткнулся, и понял что так думаю не только яСапожник без сапог -
27 мая 2009 г. 18:47, спустя 58 минут 24 секунды
я вобщем-то также думаю, но это вобщем, а здесь:
Есть только два случая, когда можно использовать неименованные параметры функции.
Первый случай, это когда параметров немного (не больше 3), и их предназначение очевидно.
их <= 3. а если в адресной строке больше трех параметров, наверное схема выбрана заумная.
можно выбрать железный порядок, например перечислять по приципу "от общего к частному" - категория, дата, айди сущности. если есть айди и тайтл, то сначала айди, потом тайтл. не заблудишся.
именованные параметры полезны когда есть значения по-умолчанию. в нашем примере такого нет.ιιlllιlllι унц-унц -
27 мая 2009 г. 19:01, спустя 14 минут 7 секунд
видишь ли, насколько я понял, то!
я вобщем-то также думаю, но это вобщем, а здесь:
Есть только два случая, когда можно использовать неименованные параметры функции.
Первый случай, это когда параметров немного (не больше 3), и их предназначение очевидно.
их <= 3. а если в адресной строке больше трех параметров, наверное схема выбрана заумная.
можно выбрать железный порядок, например перечислять по приципу "от общего к частному" - категория, дата, айди сущности. если есть айди и тайтл, то сначала айди, потом тайтл. не заблудишся.
именованные параметры полезны когда есть значения по-умолчанию. в нашем примере такого нет.
можно вообще передавать всегда одни и теже параметры, а в любой момент времени всего лишь поправив правило
с
/blog/%d/%m/%y/%id
на
/blog/%title%.html
я получу желаемый эффект, а в твоем случае придется еще правиь правила. + мой еще в том, что я захочу например
/blog/%category%/%title%.html
я тоже сделаю это.
итого 6 параметров. хотя это все избыточность конечно. хочется натйи какой то консенсус … моэет быть передавать масив ключ-знаение? все равно эти все данные есть в массиве(blogpost) rjnорый мы из бд возьме. там есть и тайтл и категория и айди и дата, нунеобходимые параметры добавить по вкусу))
в приницпе я думаю ты меня понял, а ссылку строить просто
{#blogpost:1 $blogpost} - первая схема в роутерах blogpost и параметром массивСапожник без сапог -
-
27 мая 2009 г. 19:18, спустя 15 минут 32 секунды
видишь ли, насколько я понял, то!
можно вообще передавать всегда одни и теже параметры, а в любой момент времени всего лишь поправив правило
это даа в твоем случае придется еще правиь правила.
придется править только строку-шаблон адреса.ιιlllιlllι унц-унц -
27 мая 2009 г. 19:26, спустя 7 минут 27 секунд
а если там другие переменные должны быть задействованы?а в твоем случае придется еще правиь правила.
придется править только строку-шаблон адреса.Сапожник без сапог -
27 мая 2009 г. 21:08, спустя 1 час 42 минуты 14 секунд
если там просто не все переменные задействованы — наплевать, а если другие, то конечно придется менять везде.
ты предлагаешь использовать просто ВСЕ переменые области видимости шаблона? смело.ιιlllιlllι унц-унц -
27 мая 2009 г. 21:11, спустя 3 минуты 2 секунды
нет не все, ты чуток не понял)
если там просто не все переменные задействованы — наплевать, а если другие, то конечно придется менять везде.
ты предлагаешь использовать просто ВСЕ переменые области видимости шаблона? смело.
ну смотри есть $tpl->blog_post = $db->get("blog_posts",$_GET['id']); нечто такое и в шаблоне мы можем юзать
<h1>{$blog_post.title}</h1>
соотвсетственно я говорю что можно передавать так
<a href="{href route="blog_post_url:1" params=$blog_post}"> ..Сапожник без сапог -
27 мая 2009 г. 21:21, спустя 10 минут 21 секунду
если я тебя правильно понял. на моем диалекте шаблона:
если есть массив тем
array(
0=>array("id"=>2932, "date"=>83728327932, "subject"=>"Нужен разбор URL"),
1=>array("id"=>2933, "date"=>83273892, "subject"=>""Жопа с ручкой")
)
список тем со ссылками в шаблоне
<!– .FOREACH topics AS t –>
<a href="{#topic, t}">{@t.subject}</a>
<!– .END –>
возможно. нам остается позаботиться о том, чтобы ключи массива соответствовали именам подстановочных параметров.
я в легком ахуе. даже не знаю радоваться или нетιιlllιlllι унц-унц -
27 мая 2009 г. 21:28, спустя 6 минут 42 секунды
то есть ты все таки согласиться с моими идеями собираешься?)) ну давай скажи да, нет? ))))))))))))
если я тебя правильно понял. на моем диалекте шаблона:
если есть массив тем
array(
0=>array("id"=>2932, "date"=>83728327932, "subject"=>"Нужен разбор URL"),
1=>array("id"=>2933, "date"=>83273892, "subject"=>""Жопа с ручкой")
)
список тем со ссылками в шаблоне
<!– .FOREACH topics AS t –>
<a href="{#topic, t}">{@t.subject}</a>
<!– .END –>
возможно. нам остается позаботиться о том, чтобы ключи массива соответствовали именам подстановочных параметров.
я в легком ахуе. даже не знаю радоваться или нет
да, ключи если обзывать стандартно, а я всегда придерживаюсь мнения стандартизации. в шаблон основной элемент передаю с именем item. когда много(список тем, то items), id, title, date, content, short, category, tags. такие поля обычны для элемента из базы. поэтому грубо говоря стандартизация наблюдается и видимых проблем быть не должноСапожник без сапог
Пожалуйста, авторизуйтесь, чтобы написать комментарий!