ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » design.ini kommt mit Namen durcheinander

Geschlossen
  1. #1
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Also ich habe für meine Webseite einen "Blog" programmiert, nichts anderes als das News-Modul nur erweitert mit Archiv, Kategorien, Tags und planbare Blog-Beiträge.

    Wenn man genau hinschaut werden bei so gut wie allen Links noch namen ausgegeben um bei den Suchmaschinen bessere Chancen zu haben.
    Beispiel:
    http://www.cristiang.de/referenzen-5-bistro-red-seven.html
    anstelle von
    http://www.cristiang.de/referenzen-5.html

    So werden nicht nur meine Referenzen gefunden.
    Wenn man zum Beispiel nach dem Bistro sucht wird die Bistro-Seite, meine Referenz und sonstige Einträge im Web zu diesem Bistro in den Suchergebnissen erscheinen (wie z.B. auch dieser Forenbeitrag).


    Nun das selbe Prinzip habe ich bei meinem Blog umgesetzt.
    Also die URL eines Blogbeitrages besteht aus Blog-ID und Blog-Title genau wie bei den Referenzen.

    Mein Problem liegt nun bei der Template-Zuweisung.
    Ich habe eine Textseite namens "webdesign.php" erstellt und in meiner Blog-URL kommt auch webdesign vor, nun weist die design.ini das Template von der Textseite dem Blogbeitrag zu.

    Meine Design.ini sieht so aus:
    *		=	"index/default.htm"
    
    
    startseite	=	"index/startseite.htm"
    leistungen	=	"index/leistungen.htm"
    referenzen	=	"index/referenzen.htm"
    referenzen-*	=	"index/referenzen_details.htm"
    blog		=	"index/blog.htm"
    blog-*		=	"index/blog_details.htm"
    blog-tag-*	=	"index/blog.htm"
    blog-cat-*	=	"index/blog.htm"
    blog-archiv-*	=	"index/blog.htm"
    blog-p*		=	"index/blog.htm"
    kontakt		=	"index/kontakt.htm"
    
    
    maintenance	=	"index/kontakt.htm"
    login		=	"index/login.htm"
    
    
    webdesign	=	"index/leistungen_webdesign.htm"
    seo		=	"index/leistungen_seo.htm"
    socialmedia	=	"index/leistungen_socialmedia.htm"
    onlinemarketing	=	"index/leistungen_onlinemarketing.htm"


    Heißt im Klartext die design.ini kommt mit den Namen nicht klar, kann sie nicht unterscheiden und gibt das nachfolgend definierte Template aus.

    Kann mir da bitte jemand helfen, wo ich etwas ändern muss?


    Gruß Ahrtas


    verwendete ilch Version: 1.1 P

    betroffene Homepage: www.cristiang.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    Bin mir ehrlich gesagt nicht sicher aber ich meine ich hatte das problem auch schon mal wegen dem "_" unterstrich, versuch es doch mal so leistungen-webdesign.htm

    Ich hab mir z.b für meine zwecke eine art MiniCMS gebastelt welches ich immer wieder super Anpassen kann.

    Ach ja du solltest mal langsam auf PDO Umsteigen oder mindestens mysqli.

    Was ich noch sehe vergiss das Title Attribut nicht bei IMG tags


    Zuletzt modifiziert von Nex4T am 25.01.2017 - 13:45:35
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Also wenn ich eine Textseite mit dem Namen "leistungen-webdesign.php" erstellen möchte nimmt es den Bindestrich automatisch raus beim Speichern.

    Die Seite "Leistungen" ist ja bereits ein Modul nur eben ohne Funktion um eine Textseite zu erstellen und das würde ich gerne so beibehalten.

    Das wäre aber auch keine richtige Lösung für das Problem, das Problem mit der design.ini würde ja weiter bestehen...
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    Ich dachte da eher an deine Indexfiles, wenn ich das doch Richtig verstehe möchtest du quasi für Seite X Layout X anzeigen lassen.
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Genau stimmt so.

    blog-cat-* = "index_blog.html"
    webdesign = "index_webdesign.html"


    Also wenn meine Textseite unter "webdesign.html" erreichbar ist und ich aber einen Link aufrufe z.B. "blog-cat-1-webdesign.html" wird bei der Blog-Seite auch das Template "index_webdesign.html" ausgegeben obwohl "index_blog.html" definiert wurde.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    versuch mal ohne den stern nur blog-cat-
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    ZitatZitat geschrieben von Nex4T
    versuch mal ohne den stern nur blog-cat-
    passiert leider nichts

    Dieser Fehler kommt überall zu stande, wenn ich an die Referenz-ID ein webdesign einfüge wird auch das falsche Template ausgegeben.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Der reguläre Ausdruck in der design Klasse (includes/class/design.php) hat sucht auch mitten in "Query String", also wird webdesign auch in blog-webdesign gefunden.

    Wenn du das nicht so haben willst, dann müsstest du folgende Zeile anpassen
                foreach ($ma as $k1 => $v1) {
                    if (preg_match("/" . $k . "/", $k1) AND file_exists('include/designs/' . $this->design . '/' . $v)) {
                        return ($v);
                    }
                }


    Bei dem preg_match müsste vor das nach dem ersten / noch ein ^ gesetzt werden. Damit sucht er nur noch am Beginn und nicht mehr mittendrin. Falls die Suche auch am Ende genau sein soll, müsste vor dem zweitem / noch ein $ gesetzt werden. ( preg_match("/^" . $k . "$/", $k1) )
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Danke Mairu.

    Mit dem ^ nach dem ersten / habe ich das Problem dass bei jeder selbst erstellten Textseite die default.htm eingesetzt wird, egal was ich definiert habe.

    *       =   "index/default.htm"
     
     
    startseite  =   "index/startseite.htm"
    leistungen  =   "index/leistungen.htm"
    referenzen  =   "index/referenzen.htm"
    referenzen-*    =   "index/referenzen_details.htm"
    blog        =   "index/blog.htm"
    blog-*      =   "index/blog_details.htm"
    blog-tag-*  =   "index/blog.htm"
    blog-cat-*  =   "index/blog.htm"
    blog-archiv-*   =   "index/blog.htm"
    blog-p*     =   "index/blog.htm"
    kontakt     =   "index/kontakt.htm"
     
     
    maintenance =   "index/kontakt.htm"
    login       =   "index/login.htm"
     
     
    webdesign   =   "index/leistungen_webdesign.htm"
    seo     =   "index/leistungen_seo.htm"
    socialmedia =   "index/leistungen_socialmedia.htm"
    onlinemarketing =   "index/leistungen_onlinemarketing.htm"
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Das * = ... ist auch ehrlich gesagt keine gute Idee. Wenn keine der angebenen "Query-Strings" gefunden wird, wird ja der Fallback der index.htm verwendet.
    Ok sie heißt dann nicht default.htm und darf nicht in einem Unterordner liegen, aber das ist ja nicht wirklich ein Problem, oder?

    Schaue es mir aber ggf. nochmal genauer an.

    Edit: Achso, eigene Seiten sind intern self-NAME und müssten dann so wohl auch in der design.ini angegeben werden, wenn am Anfang genau verglichen wird.


    Zuletzt modifiziert von Mairu am 28.01.2017 - 09:35:09
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Das "self-" hat gefehlt, funktioniert einwandfrei!

    Danke dir. lächeln
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten