CMSimple und die 2. Sprache

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
aceaccis
Posts: 71
Joined: Tue May 30, 2017 7:09 am

Re: CMSimple und die 2. Sprache

Post by aceaccis » Thu Jul 13, 2017 10:54 am

Hi Ihr zwei,

Also zur Flag.

flag.PNG
no_flag.PNG
Und ja Christoph hast wie immer Recht war Hardcoded :oops:

Müsste das ganze dann so Aussehen ?

Code: Select all

<img src="<?=$pth['folder']['base']?>images/logos/printlink.gif">
wenn die logos im Template VZ images/logos/* sind ?

Was mich nur verunsichert die php Dateien welche ich einbinde habe ich auch mit $path angegeben und er findet sie nicht

Code: Select all

<?php /* utf8-marker = äöü */$pth['folder']['base'] = './';include('./cmsimple/favicon.php');?>
<?php /* utf8-marker = äöü */$pth['folder']['base'] = './';include('./eu-cookie/eu-cookie.php');?>
Danke und Gruß
Chris
You do not have the required permissions to view the files attached to this post.
Chris S. aus B
Hoster: df.eu
Domains: 25 an der Zahl
CMS: CMSimple_XH, jeweils 1.6.10 und nun 1.7.0

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: CMSimple und die 2. Sprache

Post by cmb » Thu Jul 13, 2017 11:03 am

aceaccis wrote:Müsste das ganze dann so Aussehen ?

Code: Select all

<img src="<?=$pth['folder']['base']?>images/logos/printlink.gif">
wenn die logos im Template VZ images/logos/* sind ?
$pth['folder']['base'] referenziert das Installationsverzeichnis ("root"). Wenn du das Verzeichnis des aktuellen Templates referenzieren möchtest, dann nimm $pth['folder']['templates']. Oder in diesem Fall:

Code: Select all

<img src="<?=$pth['folder']['templateimages']?>logos/printflink.git">
Im Wiki gibt es eine vollständige (aber möglicherweise nicht aktuelle) Übersicht über alle $pth Variablen.
aceaccis wrote:

Code: Select all

<?php /* utf8-marker = äöü */$pth['folder']['base'] = './';include('./cmsimple/favicon.php');?>
Hier änderst du $pth['folder']['base'], was man normalerweise nicht machen sollte. Vermutlich willst du:

Code: Select all

<?php include "{$pth['folder']['cmsimple']}favicon.php"?>
Christoph M. Becker – Plugins for CMSimple_XH

aceaccis
Posts: 71
Joined: Tue May 30, 2017 7:09 am

Re: CMSimple und die 2. Sprache

Post by aceaccis » Thu Jul 13, 2017 11:10 am

Ui Danke,

der Link hilft ich Fuchs mich da mal durch .

Danke und Gruß

Chris
Chris S. aus B
Hoster: df.eu
Domains: 25 an der Zahl
CMS: CMSimple_XH, jeweils 1.6.10 und nun 1.7.0

aceaccis
Posts: 71
Joined: Tue May 30, 2017 7:09 am

Re: CMSimple und die 2. Sprache

Post by aceaccis » Thu Jul 13, 2017 11:42 am

OK alles ist wie sein Soll die Seite war Gold Wert.

Jetzt habe ich nur noch ein Problem zu Lösen auf Grund dessen das ich ja nur eine Funktions.php include fehlen mir natürlich im eigentlichen php script die Pfad angaben kann ich die auf dem selben wege Lösen ?

Bsp.

Code: Select all

<?php
 require_once ( 'eu-cookie/euc.php' );
 $options = array (
  "print" => false,
  "css_type" => 'single',
  "css_file" => 'eu-cookie/euc_style_nojs_click.css',
  "txt_notice_file" => 'eu-cookie/euc_notice_nojs_click.txt',
  "cookiename" => 'euc_has_seen3',
  "cookierule" => 'has_clicked'
 );
 $euc = new euc ( $options );
 print $euc->cssbuff;
?>
jetzt bekomme ich natürlich die Meldung das er ab Zeile 2 nicht weiterkommt .

Code: Select all

Fatal error: require_once(): Failed opening required 'eu-cookie/euc.php' (include_path='.:/usr/local/lib/php') in /eu-cookie/eu-cookie.php on line 2
Dat ist ja ein Rattenschwanz warum habe ich das nur angefangen :roll:

Gruß Chris
Chris S. aus B
Hoster: df.eu
Domains: 25 an der Zahl
CMS: CMSimple_XH, jeweils 1.6.10 und nun 1.7.0

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: CMSimple und die 2. Sprache

Post by cmb » Thu Jul 13, 2017 12:04 pm

aceaccis wrote:Jetzt habe ich nur noch ein Problem zu Lösen auf Grund dessen das ich ja nur eine Funktions.php include fehlen mir natürlich im eigentlichen php script die Pfad angaben kann ich die auf dem selben wege Lösen ?
So wie ich es verstehe, erfolgen alle include/require im globalen Gültigkeitsbereich, und die inkludierten Dateien werden auch nicht stand-alone verwendet. Falls das so ist, kannst du $pth auch in diesen Dateien verwenden.
Christoph M. Becker – Plugins for CMSimple_XH

aceaccis
Posts: 71
Joined: Tue May 30, 2017 7:09 am

Re: CMSimple und die 2. Sprache

Post by aceaccis » Thu Jul 13, 2017 1:24 pm

Also Standard Page ,

kein Problem läuft wie gewünscht kaum schalte ich um auf die EN Page bekomme ich.

Code: Select all

Fatal error: require_once(): Failed opening required 'eu-cookie/euc.php' (include_path='.:/usr/local/lib/php') 
Habe das

Code: Select all

$pth['folder']['base']
an jeder erdenklichen Stelle eingegeben und bekomme trotzdem die Fehlermeldung .

Wie du bereits erwähntest sagt das PHP Handbuch das alles mitgezogen werden sollte.
Trotzdem sagt er im Error Log das er das euc.php an der angegebenen Stelle nicht finden kann.

Danke und Gruß

Chris
Chris S. aus B
Hoster: df.eu
Domains: 25 an der Zahl
CMS: CMSimple_XH, jeweils 1.6.10 und nun 1.7.0

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: CMSimple und die 2. Sprache

Post by cmb » Thu Jul 13, 2017 2:44 pm

aceaccis wrote:an jeder erdenklichen Stelle eingegeben und bekomme trotzdem die Fehlermeldung .
Dann schreibt doch direkt vor dem require_once noch ein

Code: Select all

var_dump($pth['folder']['base']); 
Das sollte dann entweder

Code: Select all

string(2) "./"
(Hauptsprache) oder

Code: Select all

string(3) "../"
(Zweitsprache) ausgeben.

PS: die Ausgabe würde vermutlich unterdrückt. Also noch ergänzen:

Code: Select all

ob_flush(); 
Christoph M. Becker – Plugins for CMSimple_XH

aceaccis
Posts: 71
Joined: Tue May 30, 2017 7:09 am

Re: CMSimple und die 2. Sprache

Post by aceaccis » Thu Jul 13, 2017 5:05 pm

Hi Christoph,
ja habe mir den dump schon ausgeben lassen .

Bekomme als Antwort zurück

Code: Select all

string(3) "../"
was ja in Ordnung ist habe ich eingetragen.

Akzeptiere ich die Meldung und klicke auf zustimmen was dann

Code: Select all

en/eu-cookie/euc_clickhandler.php?euc_has_clicked=1
auslöst bekomme ich aber :

Code: Select all

string(2) "./" 
und

Code: Select all

Fatal error: require_once(): Failed opening required '../eu-cookie/euc.php' (include_path='.:/usr/local/lib/php') in /eu-cookie/eu-cookie.php on line 3
Dann habe ich auch festgestellt wenn man auf den Button Details ansehen klick was ja den Link zu /? Datenschutz aufrufen soll er Ihn dann natürlich unter en/?Datenschutz erwartet.
cookie.PNG
Also fassen wir zusammen setze ich sting(2)"./" funktioniert auf der Deutschen Seite alles und auf der Englischen nix.
Setze ich sting(3)"../" kommt die Cookie Meldung wollte schon heureka rufen, aber das Cookie setzen geht nicht da er sting(2)"./" erwartet.

Und dann wäre noch das Thema mit dem Link zum Datenschutz den müste man auch umschreiben damit er die $lang variable prüft und je nach [de] oder [en] dann den richtigen Link anzeigt. :shock:

Danke dir ich weiß das du ein Haufen anderes zu tun hast, lass gut sein ich lass das Thema 2.Lang mal eine weile Ruhen ist mir dann doch zu aufwendig für ein CMS :D .

Wie gesagt ich bin IP' ler ich muss mir alles aus Büchern und Herrn Google zusammen suchen scripting hatte ich das letzte mal auf der Uni dat ist mir dann zu viel Aufwand . Wie sagte mein Proff mal zu mir "Sie sind und bleiben ein Joystick - Informatiker"

Gruß Chris

P.S. Ich habe irgendwo gelesen man kann der 2. Sprache ein Template direkt zuweisen vielleicht mache ich das dann muss ich eben beide Pflegen.
You do not have the required permissions to view the files attached to this post.
Chris S. aus B
Hoster: df.eu
Domains: 25 an der Zahl
CMS: CMSimple_XH, jeweils 1.6.10 und nun 1.7.0

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: CMSimple und die 2. Sprache

Post by cmb » Thu Jul 13, 2017 5:33 pm

aceaccis wrote:Akzeptiere ich die Meldung und klicke auf zustimmen was dann

Code: Select all

en/eu-cookie/euc_clickhandler.php?euc_has_clicked=1
auslöst bekomme ich aber :

Code: Select all

string(2) "./" 
und

Code: Select all

Fatal error: require_once(): Failed opening required '../eu-cookie/euc.php' (include_path='.:/usr/local/lib/php') in /eu-cookie/eu-cookie.php on line 3
Ah, jetzt versteh ich! Das Cookie-Skript sind tatsächlich mehrere, und da müssten ggf. an verschiedenen Stellen Anpassungen vorgenommen werden, wobei in den anderen Skripten (euc_clickhandler.php) die $pth Variable gar nicht verfügbar ist.

Vermutlich ist es dann das beste, wenn du, wie anscheinend bereits erfolgt, die Skripte zweimal auf dem Server hast, und zwar im Root und in en/. Dann kannst du bei der Einbindung im Template $pth weglassen, so dass immer das passende Skript geladen wird. Der Rest sollte dann eigentlich funktionieren.
Christoph M. Becker – Plugins for CMSimple_XH

Michael_G
Posts: 185
Joined: Thu Feb 18, 2016 11:01 pm
Contact:

Re: CMSimple und die 2. Sprache

Post by Michael_G » Sun Jul 16, 2017 6:13 pm

Hallo allerseits,

kurz mein Senf als Nichtprogrammierer, aber Zweitsprachennutzer dazu (erklärt es Einsteigern zumindest für Bilddateien leichter?):

Wenn ein CMS Bilder etc. aus einem zentralen Ordner für Mediendateien lädt und die Zweitsprache auf einer anderen Pfadebene liegt,
benötigt es für die relative Pfadangabe zur tiefer liegenden Zweitsprache anstatt einen Punkt (.) zwei Punkte (..).

Beispiel:
1. Sprache ohne extra /de/ oder /en/ etc., also: https://domain.tld/
2. Sprache (und ggf. alle weiteren) im Unterordner https://domain.tld/en/

So ergibt sich die relative Pfadangabe z. B. für ein Logo in 1. Sprache:
./userfiles/images/logo.gif (entspricht https://domain.tld/userfiles/images/logo.gif)
Weil die andere(n) Sprache(n) eine Ebene tiefer liegen, müssen zwei Punkte gesetzt werden:
../userfiles/images/logo.gif

Wer die Computerwelt nicht erst als Mausschubser entdeckte, sondern noch die DOS-Shell kennt, versteht sofort, was ich meine. ;)
Pro Punkt springt das Programm eine Ebene höher. Hier also raus aus der Zweitsprachenebene /en/ und dann sieht es die Bilddatei z. B. logo.gif.

Wenn die Lösung von Christoph das global vereinfacht, ist das umso besser (habe es noch nicht ausprobiert, da ich das Problem nur mit Fotos hatte und da seit Jahren oben beschriebene mit jedem CMS funktionierende Lösung nutze).

Übrigens setzen unsere Editoren CKEditor v2.2.1 und TinyMCE4 leider keine relativen Pfade, sondern fälschlicherweise absolute Pfade, was aus SEO-Sicht sehr schädlich ist und die unangenehme Nebenwirkung hat, dass offline mit Portable_XH erstellte Seiten mit Bildern alle nachgearbeitet werden müssen, weil dann
"http://localhost:8080/userfiles/images/logo.gif" anstatt
"https://domain.tld/userfiles/images/logo.gif" generiert wird!
Ciao
Michael

Let's Encrypt!

Post Reply