ich bin grad dabei mir das Yii-Framework etwas anzusehen.
Was mich generell interessiert, wenn mein Controller ContactController heißt dann wird in der URL contact stehen. Ich würde gern das dann kontakt dort steht, genauso bei anderen Seiten (help, faq, products). Die Bezeichnuung der Controller erfolgt ja in Englisch, aber es sollen in der URL dann die deutschen Worte stehen.
ich müsste also dann für jeden Menüpunkt eine Regel verwenden?
Kann man denn den Aufruf der englischen URL verhindern oder kann ich das nur z.B. über die .htaccess machen mit ensprechenden rewrite rules? Ich möchte nicht den gleichen Inhalt unter 2 verschiedenen URL erreichbar machen.
Du kannst useStrictParsing in der urlManager-Komponente auf true setzen, damit werden nur noch URLs akzeptiert, die auf eine der definierten Regeln passen.
Yii ist ziemlich umfangreich, da braucht man schon etwas Zeit um reinzukommen. Der Guide ist auch ziemlich kompakt gehalten, so dass wiederholtes Durchlesen auch nix schadet. Wenn man nebenbei Sachen ausprobiert erschließt sich bei jedem Lesen wieder was neues. Am besten, man macht sich aber auch mit der Klassenreferenz (s.o.) intensiv vertraut.
Wenn ich useStrictParsing benutze, und ich habe als Regeln noch <controller… > drin, dann müsste ich diese Regel rauslöschen oder? Sonst würde diese Regel ja immer zutreffen und ich kann auch die englische URL aufrufen
wenn deine seite deutsch bleibt, dann kannst du auch einen KontaktController erzeugen mit deutschen actions, dann sparst du dir den Weg über das Routing eben
Ha! Genau das hab ich gestern gesucht, aber auf die Schnelle nicht gefunden. Das sollte natürlich auch gehen. Wobei dann aber die Controller vermutlich auch noch unter dem "originalen" Namen erreichbar sein dürften. Hab ich aber noch nie probiert.
Falls die Seite noch unter dem anderen Namen erreichbar sein sollte, kann man das ja per htaccess verhindern, obwohl das ja wieder etwas mehr Aufwand wäre.
Aber trotzdem danke für den Hinweis. Gibt ja noch so viel zu lernen