Tvar URL v Shakal CMS

Sekcia: Programovanie 02.09.2009 | 17:56
Avatar Miroslav Bendík Gentoo  Administrátor

Ahojte. Tak teda sa snažím prekopať Shakal CMS (niekedy snáď napíšem o čo konkrétne ide) no a riešim rôzne "problémy" (nie programátorské, to zvládnem bez problémov, skôr ma zaujíma názor ľudí na rôzne riešenia a vybrať z toho najlepšie).

Takže k problému. Novú verziu sa snažím naprogramovať čo najflexibilnejšie, zo základných vecí spomeniem rôzne rozhrania (čisté html, xml + xslt, plnohodnotné dynamické ajax rozhranie). Každá časť weby by mala byť dostupná ako celok (celá stránka) a zároveň by mali byť dostupné aj jednotlivé časti (pre ajax). To kladie špeciálne nároky na URL - premenné v nich nesmú kolidovať medzi sebou. Som dosť puntičkár, predstava možnej kolízie mi moc príjemná nie je. Takže povedzme, že chcem URL podobné tomuto:?show=clanky&clanky.page=5 prepísať na SEO friedly URL.

Prvým problémom pri URL je obmedzený počet použiteľných znakov. Napr. bodka, ktorú som tu použil je dosť neodporúčaný znak. Chcel by som Vás poprosiť o návrhy na tvorbu URL. Čo by nové URL mali podporovať:

  • Jednoznačné oddelenie cesty (/clanky/) od premenných.
  • Väčšina adries bude bez premenných (/blog/mirec/2009/09/moj-super-blog/), takže tie musia vyzerať pekne.
  • Identifikátor menného priestoru (z clanok.page časť clanok - táto premenná bude dostupná v jedinom module) je fakt nutný.

Napadlo ma riešenie /clanky/clanky_page_5/ pričom _ by bolo použité len pri premenných (tak by sa teda dali premenné jednoznačne identifikovať od zvyšku adresy.

    • Re: Tvar URL v Shakal CMS 03.09.2009 | 01:34
      Elven nie stano..naposledy..potom uz len Elven   Návštevník
      Napadlo ma riešenie /clanky/clanky_page_5/ pričom _ by bolo použité len pri premenných (tak by sa teda dali premenné jednoznačne identifikovať od zvyšku adresy.

      Toto by bolo asi najlepšie. Taká, presná cesta.
      • Re: Tvar URL v Shakal CMS 03.09.2009 | 13:23
        still   Návštevník
        Skor by som to nerobil.

        Neviem v com by malo byt taketo riesenie viac "SEO friendly" ako obycajne ?clanky.page=5, resp. ?clanky[page]=5 pri webovych aplikaciach sa vacsinou pouziva taketo jednoduche a ucinne riesenie. Vsimni si uz len youtube, google. Naviac vzdy pri volani takejto adresy cez javascript budes musiet prehnat premenne cez konvertor, aby si dostal adresu aku chces ty.

        Obycajne pouzivam takyto tvar url
        /sekcia/akcia/identifikator - da sa pouzit takmer na vsetok "staticky" obsah, teda aj formulare a pod., pripadne rozsirenie /sekcia/akcia/modifikator_1/modifikator_2/../identifikator - modifikatory mozes mat nepovinne, bud zlava, alebo zprava.
        Vsetky ostatne premenne, napr. sposob radenia a pod. zadavat za ?
        Data, ktore server prijima a vykonava nejaku zmenu zasielat len cez POST

        priklad pre clanky.page:
        /clanky/[akcia/]clanok-uri/[strana/]
        eshop:
        /eshop/[akcia/][kategoria/[typ/[polozka/]]]

        takze hlavna zasada: pre ajaxove zalezitosti seo friendly url je nadbytocne, prinasa maximalne bolest hlavy ;-)
        • Re: Tvar URL v Shakal CMS 03.09.2009 | 15:22
          Avatar Miroslav Bendík Gentoo  Administrátor
          Pre ajaxové veci žiadne SEO nebude samozrejme. Bude fungovať podobne ako teraz (áno aj teraz sú povolené staré URL s ?premenna=hodnota).
    • Re: Tvar URL v Shakal CMS 03.09.2009 | 16:08
      Avatar Miroslav Bendík Gentoo  Administrátor
      Ešte ma napadla taká drobnosť ... tvorba URL patrí do controlleru, alebo skôr view?
      • Re: Tvar URL v Shakal CMS 04.09.2009 | 02:05
        jm   Návštevník
        controller
        • Re: Tvar URL v Shakal CMS 04.09.2009 | 17:29
          Avatar Miroslav Bendík Gentoo  Administrátor
          Čo v prípade keď chcem link len v pohľade (teda žiaden generovaný z databázy)? Riešenie typu $this->url() (v šablóne) používajúce controller?