Page 1 of 1

'templates_c', zugriff auf falsches verzeichnis

Posted: Sun Mar 04, 2007 2:42 am
by radarin
Warning: main(/****/blog/templates/darin/myfiles/tb-arbeit.htm): failed to open stream: No such file or directory in /****/blog/templates_c/darin_0.92^%%25^25D^25D59546%%info.php.php on line 50

s9y scheint hier files selbständig zu generieren. aber unter welchen umständen? das file das s9y sucht wäre im templates zu finden, warum wird es in templates_c gesucht? und warum nicht da..?

Re: was hat es mit 'templates_c' auf sich..?

Posted: Sun Mar 04, 2007 1:30 pm
by yellowled
radarin wrote:s9y scheint hier files selbständig zu generieren. aber unter welchen umständen? das file das s9y sucht wäre im templates zu finden, warum wird es in templates_c gesucht? und warum nicht da..?
Ich begebe mich ein wenig auf dünnes Eis, weil ich mir nicht 100% sicher bin, aber ich meine, templates_c sei schlicht der Cache-Ordner für Templates. s9y sucht also nicht die eigentliche Datei, welche im Template-Ordner liegt, sondern eine bereits gecachte Version davon in templates_c.

Versuche mal, alle Dateien in templates_c zu löschen, dann sollte es problemlos normal weiter laufen.

YL

Posted: Sun Mar 04, 2007 2:17 pm
by radarin
mit dem cache scheinst du recht zu haben. aber s9y will auf eine datei zugreifen die da nicht existiert, da mcht es keinen unterschied wenn ich den inhalt von 'template_c' lösche. der pfad in der entsprechenden seite verweist ganz eindeutig auf 'templates'. wie kommt s9y dazu den pfad eigenmächtig zu ändern und diesen fehler auszugeben? ich hab korrekte pfadangaben in meinen files, da kann ich nix ändern...

:?

Posted: Sun Mar 04, 2007 6:39 pm
by radarin
wie kann ich darüber bestimmen, 'templates_c' ist tabu, halte dich an die pfadangabe, und die lautet, das file hat keinen fantasienamen und liegt im 'templates',

ODER

wenn schon das file aus dem 'templates_c' gelesen werden soll, dann erstelle es aber auch, damit die seite korrekt dargestellt werden kann.

ich hab im adminbereich gesucht, ich finde keine einstellung die das beeinflussen könnte...

Posted: Sun Mar 04, 2007 6:44 pm
by garvinhicking
Hi!

Was tust Du da genau? Eine info.php.php ist von s9y nicht vorgesehen!? Anscheinend nutzt Du eigenen Code der solche Probleme verursacht.

templates_c enthält die temporären Dateien von Smarty. Geparste .tpl Dateien sind das. Dort landen nur geparste Dateien, die über die Smarty-Templates irgendwie eingebunden sind.

Smarty lädt diese DAteien immer aus templates_c, da .tpl DAteien ja kein gültiger PHP Code sind. Der Fantasienamen identifiziert eine .tpl Datei eindeutig.

Die Dateien werde eigentlich immer automatisch erstellt, solange Lese und Schreibrechte auf templates_c korrekt gesetzt sind.

Was es mit der info.php.php auf sich hat, kann ich nicht sagen - dies ekommt nicht von Serendipity.

Viele Grüße,
Garvin

Posted: Sun Mar 04, 2007 8:59 pm
by radarin
hallo garvin
ja, das mit den .tpl-dateien und dem gültigen php code hat sich als zeitraubende angelegenheit herausgestellt.

ich will in meiner 'index.tpl' an der stelle wo die beiträge geladen werden einen von der kategorie abhängigen kopfteil laden. mit gültigem php also z.b.
if($_SERVER['QUERY_STRING']=="/categories/12-Blog-und-Technik") {include($basispfad."myfiles/blog.htm");}. im smarty-template scheint es aber keine möglichkeit zu geben $_SERVER['QUERY_STRING'] zu verarbeiten. also hab ich meine index-seite so angepasst:

{include file='myfiles/info.php'}{$CONTENT}

das hat eigentlich auch funktioniert, bis ich die templateverzeichnisse umbenannt habe. den inhalt von 'templates_c' habe ich gelöscht und im adminbereich das template neu ausgewählt. die geparste datei in templates_c ist korrekt vorhanden. der name beginnt mit dem neuen verzeichnisnamen und der dateiname ist auch identisch:

Verlangt: darin_0.92^%%25^25D^25D59546%%info.php.php
Vorhanden: darin_0.92^%%25^25D^25D59546%%info.php.php

und trotzdem lautet die fehlermeldung failed to open stream: No such file or directory

für mich ist das völlig unlogisch...

gruss rene

Posted: Sun Mar 04, 2007 11:22 pm
by radarin
hab mal den CHMOD überprüft:

templates_c --> 755
darin_0.92^%%25^25D^25D59546%%info.php.php --> 644

die leserechte für die vorhanjdene datei sind also vorhanden, da kann ich auch nichts ändern...

Posted: Mon Mar 05, 2007 2:55 pm
by garvinhicking
Hi!

Wo liegt diese myfiles/info.php denn konkret? In "templates/<dein templateverzeichnis>/myfiles/info.php"?

Es scheint mir als könne Smarty auf diese Datei niht korrekt zugreifen.

Hast Du mal anstelle von {include} ein {include_php} ausprobiert?

Anscheinend hat dein Umbenennen der Verzeichnisstruktur ja das Problem ausgelöst. Kannst Du das umbenennen nicht rückgängig machen? Denn darin muss das Problem begraben liegen, nicht wirklich in Serendipity oder Smarty selbst.

Ansonsten ruhig nochmal alle dateien in templates_c/ löschen, die werden ja immer neu geschrieben.

Die info.php hast Du aber nicht in templates_c reinkopiert manuell, oder? Man sollte niemals Dateien in templates_c selber reinkopieren oder dort editieren!

Grüße,
Garvin

Posted: Mon Mar 05, 2007 6:58 pm
by radarin
8) ne ne, im template_c arbeitet nur s9y, ich lösche höchstens den inhalt. die datei die nicht geöffnet werden kann wurde vom system selber erstellt.

Meine Templatestruktur:

templates/darin_0_92/index.tpl
templates/darin_0_92/entries.tpl
templates/darin_0_92/myfiles/info.php
templates/darin_0_92/myfiles/blog.htm
templates/darin_0_92/myfiles/statements.htm

include_php bringt desen fehler:

Warning: Smarty error: file:myfiles/info.php is not readable in /home/darinch/public_html/blog/bundled-libs/Smarty/libs/Smarty.class.php on line 1088

Warning: _include(): Failed opening '' for inclusion (include_path='.:/usr/local/php4/share/pear:/usr/lib/php: /usr/local/lib/php:/home/darinch/public_html/blog/:/home/ darinch/public_html/blog/bundled-libs/') in /home/darinch/public_html/blog/bundled-libs/Smarty/libs/Smarty.class.php on line 1915

inhalte templates_c läschen hat erneut nichts gebracht.
rückbenennen von 'darin_0_92' nach 'darin' löst das problem temporär. da ich mein template laufend etwas verändere möchte ich gerne meinem templateverzeichnis mit laufenden nummern versehen. worin das problem bei dem verzzeichnisnamen liegt kann ich nicht ganz nachvollziehen. liegt es an den verwendenen zeichen oder zahlen?

gruss rene

Posted: Mon Mar 05, 2007 7:05 pm
by garvinhicking
Hi!

Probier mal in deinem templateverzeichnis den kompletten pfad anzugeben:

{include_php file="/home/ darinch/public_html/blog/templates/darin_0_92/myfiles/info.php"}

Wenn Du dein Templateverzeichnis umbenennt, dann gehst Du danach nochmal in die s9y adminoberfläche und wählst das neue template im neuen verzeichnis aus, oder? Wenn Du das nicht machst, weiß Smarty und Serendipity ja nichts davon dass dein Verzeichnis nicht mehr da ist.

Probier evtl. mal das verzeichnis in darin_1a umzubenennen, ob das problem dann auch besteht. Bisher ist mir kein Theme bekannt das eine Zahl im Verzeichnisnamen besitzt, könnte mir aber auch eigentlich nicht vorstellen dass das probleme bereiten sollte

Grüße,
garvin

Posted: Mon Mar 05, 2007 9:04 pm
by radarin
:) klar wähle ich das template im adminbereich neu aus, im template_c werden die files auch mit diesem neuen namen generiert. das mit dem kompletten pfad probier ich mal aus.
ich kann mir eigentlich auch nicht vorstellen, dass die ziffern oder der underline einen einfluss haben könnten, aber weiss man's mit sicherheit? 8)

gruss rene

Posted: Mon Mar 05, 2007 11:04 pm
by radarin
{include_php ...} schreibt mir den php code in die seite, ist wohl eher für ein tutorial geeignet :D

{include ...} lädt die seite korrekt rein

ich weiss nicht was passiert ist, jedenfalls funktioniert es wieder mit der alten version mit dem relativen includepfad, aber auch mit dem absoluten pfad. werde letzteren beibehalten. vor lauter 'rumschrauben' hat nun die darstellung etwas gelitten. dass und das problem mit der {category} nimm ich morgen abend in angriff.

danke garvin für deine anregungen...

gruss rene