Malcolm Beck´s: Wie Links zur Identifikation der Inhalte speichern?

Beitrag lesen

hi,

ich habe in meinem kleinen CMS eine umständliche Methode, die Inhalte anhand der URI zu identifizieren und würde das gerne vereinfachen, nur habe ich meine Zweifel, ob meine Idee Sinnvoll ist.

Aktueller Stand:

id  | uri_name  
----------------  
1   | autos        -- autos ist eine Hauptkategorie  
2   | bmw          -- unterkategorie von „autos“  
3   | mercedes     -- unterkategorie von „autos“  
4   | vw           -- unterkategorie von „autos“  
5   | empfehlungen -- unterkategorie von „autos“  
-- Nächste Kategorie --  
6   | schiffe      -- schiffe ist eine Hauptkategorie  
7   | ruderboot    -- unterkategorie von „schiffe“  
8   | kanu         -- unterkategorie von „schiffe“  
9   | empfehlungen -- unterkategorie von „schiffe“, allerdings könnte ich es so nicht machen, da „autos“ bereits empfehlungen hat  

Wenn ich jetzt anhand der URI die ID der jeweiligen Begiffe ermitteln möchte (mit der ich dann die Inhalte der Tabellen verknüpfe), muss ich die URI zerstückeln, um an den Begriff zu kommen, Bspw.:

example.org/autos/mercedes

Und dann halt den letzten String nach dem letzten „/“ rausfiltern, hat aber den Nachteil, dass ich jeden Begriff nur ein mal verwenden kann; jetzt könnte es aber sein, dass ich 2 Hauptkategorien habe, wo ich „empfehlungen“ als identifier schreiben möchte, dann aber würde ich ein falsches bzw. nicht gewünschtes Ergebnis aus der Query bekommen.

Jetzt habe ich mir gedacht, dass ich das ja auch direkt im benötigten Format speichern könnte:

id  | uri_name  
----------------  
1   | autos  
2   | autos/bmw  
3   | autos/mercedes  
4   | autos/vw  
5   | autos/empfehlungen

Das würde mir die arbeit um ein vielfaches erleichtern, nur, ist diese Variante auch Sinnvoll, oder wie könnte ich das sonst noch lösen?

Alternativ (gerade auf die Idee gekommen):

  
id  | uri_name      | from_categorie  
--------------------------  
1   | autos         | 0  
2   | bmw           | 1  
3   | mercedes      | 1  
4   | vw            | 1  
5   | empfehlungen  | 1  
  
6   | schiffe       | 0  
7   | ruderboot     | 6  
8   | kanu          | 6  
9   | empfehlungen  | 6  

Wie würdet ihr das angehen?

mfg

--
--