Page 16 of 21

Re: Clean URLs

Posted: Thu Oct 12, 2017 8:16 pm
by cmss
vor Zeile 105 return $o; eingefügt führt das leider zu einem
Parse error: syntax error, unexpected '"' in H:\xampp5631\xampp\htdocs\xh1610clea2_\cmsimple\tplfuncs.php on line 107

Re: Clean URLs

Posted: Thu Oct 12, 2017 9:16 pm
by cmb
cmss wrote:vor Zeile 105 return $o; eingefügt führt das leider zu einem
Parse error: syntax error, unexpected '"' in H:\xampp5631\xampp\htdocs\xh1610clea2_\cmsimple\tplfuncs.php on line 107
Upps! Ich habe den Code nun korrigiert.

Re: Clean URLs

Posted: Fri Oct 13, 2017 7:17 pm
by cmss
Der Code geht - danke - und ich will erst mal ausführlicher testen.
Ich habe aber noch ein kleines anders Problem in XH1.7 :

Wenn ich in der Stylesheet eine Klasse definiere wie mit
ul {list-style-image: url(./perl.jpg)}
ul {list-style-image: url(./userfiles/images/perl.jpg)}
#ul3 {list-style-image: url(./perl.jpg)}
.ul3 {list-style-image:url(./userfiles/images/perl.jpg)}
(ich habe verschiedenste Varianten mit ./ etc probiert, so kann ich damit kein UL stylen - wohl aber direkt wie mit
<ul style="list-style-image: url(./perl.jpg);">
Perl.jpg liegt sowohl im Userfiles- als auch im Template-Verzeichnis (755)
In anderen Systemen geht das mit obigen Klassen - fehlt hier der Pfad oder was kann das Problem sein.

( was ich noch nicht probiert habe ist mit Konstrukten wie <?php echo $pth['folder']... etc.)

Re: Clean URLs

Posted: Fri Oct 13, 2017 8:07 pm
by cmb
Relative URLs in einem Stylesheet beziehen sich immer auf das Verzeichnis in dem das Stylesheet liegt. url(./perl.jpg) bezieht sich also auf das Templateverzeichnis; um sich auf userfiles/ zu beziehen, müsste es url(../../userfiles/perl.jpg) lauten.

Re: Clean URLs

Posted: Fri Oct 13, 2017 8:08 pm
by lck
cmss wrote:Wenn ich in der Stylesheet eine Klasse definiere wie mit
ul {list-style-image: url(./perl.jpg)}
...
Ausgehend von der stylesheet.css müsste es für ein Bild im Ordner ./templates/deinTemplate/images/ so angegeben werden:

Code: Select all

list-style-image: url(images/perl.jpg);
für ein Bild im Ordner ./userfiles/images/ so:

Code: Select all

list-style-image: url(../../userfiles/images/perl.jpg);
cmss wrote:( was ich noch nicht probiert habe ist mit Konstrukten wie <?php echo $pth['folder']... etc.)
Das wäre dann nur in der template.htm anwendbar.

Re: Clean URLs

Posted: Sat Oct 14, 2017 9:46 am
by cmss
list-style-image: url(images/perl.jpg); geht auch nicht - auch nicht unter Xampp

list-style-image: url(/perl.jpg); perl.jpg lag bei mir direkt im Templateverzeichnis

mit list-style-image: url(../../userfiles/images/perl.jpg); geht es ...seufz

Was nicht läuft ist ein Bild aus dem Templateverzeichnis über eine Klasse zuzuweisen.-

Re: Clean URLs

Posted: Sat Oct 14, 2017 9:59 am
by lck
cmss wrote:list-style-image: url(images/perl.jpg); geht auch nicht - auch nicht unter Xampp

list-style-image: url(/perl.jpg); perl.jpg lag bei mir direkt im Templateverzeichnis
Wenn es direkt im Template-Ordner liegt also in ./templates/deinTemplate/perl.jpg dann geht es so:

Code: Select all

list-style-image: url(perl.jpg); 
Sollte das nicht gehen, so wird das eventuell überschrieben? Am besten mal in der Browser-Konsole checken.

Re: Clean URLs

Posted: Sat Oct 14, 2017 10:03 am
by lck
cmss wrote:Was nicht läuft ist ein Bild aus dem Templateverzeichnis über eine Klasse zuzuweisen.
Beispiel:

Code: Select all

.content ul {
    list-style-image: url(perl.jpg);
    list-style-type: none;
}

Re: Clean URLs

Posted: Tue Oct 17, 2017 7:51 pm
by cmss
Das list-style-image: url(perl.jpg); geht jetzt merkwürdigerweise.

Das .content geht nicht, und alle Punkte vor der Liste sind weg. Damit geht aber eine Liste ohne Punkte oder Bilder - auch eine Variante.

Vielleicht kann man (Entwickler) das Problem des "2 Ebenen hoch und dann " : ../../userfiles über php-namespaces aliase im System lösen.

use My\Full\Classname as Another; oder ähnliches

Re: Clean URLs

Posted: Tue Oct 17, 2017 9:10 pm
by cmb
cmss wrote:Vielleicht kann man (Entwickler) das Problem des "2 Ebenen hoch und dann " : ../../userfiles über php-namespaces aliase im System lösen.

use My\Full\Classname as Another; oder ähnliches
Nein, so etwas wird von CSS nicht unterstützt, und zumindest bislang sind die Stylesheets reine CSS-Dateien (ohne PHP Preprocessing). Wenn viele solche Verweise nötig sind, dann könntest du auch ein Stylesheet in userfiles/ ablegen, und dieses im Templatestylesheet importieren.