WBCE CMS – Way Better Content Editing.
You are not logged in.
Hallo Colinax,
ich werde den Teil im Backend neu programmieren, bzw. bin grade dabei.
Die Änderungen werden erst in die 1.2.0 mit reinkommen, suche aber dringend Leute, die mir dabei helfen es komplett durchzutesten.
Wenn Du dabei mithelfen könntest, wäre super.
Es dürfte nicht mehr all zu lange dauern.
Schönen Gruß,
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Hallo Colinax,
ich werde den Teil im Backend neu programmieren, bzw. bin grade dabei.
Die Änderungen werden erst in die 1.2.0 mit reinkommen, suche aber dringend Leute, die mir dabei helfen es komplett durchzutesten.
Yes, ich hab's mir schon geacht das der folgende Commit eher mit dem Multilingual Switcher zu tun hat .
NorHei Added Flags to language folder
Wenn Du dabei mithelfen könntest, wäre super.
Es dürfte nicht mehr all zu lange dauern.
Schönen Gruß,
Christian
Ja, gerne helfe ich dir beim Testen
Offline
Yes, ich hab's mir schon geacht das der folgende Commit eher mit dem Multilingual Switcher zu tun hat
.
NorHei@Github wrote:NorHei Added Flags to language folder
Also zur Aufklärung: das war eigentlich eine grundsätzliche Verfrachtung der Icons aus den Themes in den language Ordner, damit nicht alle Themes immer die Icons mitschleppen müßen.
Ja, gerne helfe ich dir beim Testen
![]()
Das ist super.
Schönen Gruß,
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
@Norbert,
wenn Du schon mal bei dem Multilingual Switcher bist, ergänze bitte die include.php
/modules/mod_multilingual/include.php
<?php
//no direct file access
if(count(get_included_files()) ==1){$z="HTTP/1.0 404 Not Found";header($z);die($z);}
function language_menu($ext='txt') {
// Work-out we should check for existing page_code
if (defined('PAGE_LANGUAGES') && (PAGE_LANGUAGES==true)) {
global $database;
if (!preg_match("/jpg|png|gif|txt|TXT/", $ext)) $ext='txt';
include_once __DIR__.'/lang.functions.php';
include(get_module_language_file(basename(dirname(__FILE__))));
$langIcons = array();
echo '<div id="langmenu">'.PHP_EOL;
$langIcons = set_language_icon(PAGE_ID, $ext);
if( sizeof($langIcons) > 1 ) {
foreach( $langIcons as $key=>$value ) {
print $value;
}
}
print "\t".'</div>'.PHP_EOL;
}
return true;
}
function get_lang_switcher_array() {
$aList = array();
// Work-out we should check for existing page_code
if (defined('PAGE_LANGUAGES') && (PAGE_LANGUAGES==true)) {
global $database;
include_once __DIR__.'/lang.functions.php';
include(get_module_language_file(basename(dirname(__FILE__))));
$array = get_page_languages();
$array2= get_pageCode_values( PAGE_ID );
$langPageArray = array_merge($array , $array2);
foreach( $langPageArray as $key=>$value )
{
$langKey = $key;
if($array[$langKey]['visibility'] == 'hidden') {
continue;
}
$aList[$langKey]['title'] = get_languages($langKey);
$aList[$langKey]['url'] = get_page_url($value);
$aList[$langKey]['active'] = strtoupper($langKey) == LANGUAGE ? true : false;
}
}
return $aList;
}
Ich habe es um eine zweite Funktion erweitert get_lang_switcher_array()
Damit kann man sich dann einfach nur das Array geben lassen.
Das gewährleistet dann Layout-Freiheit für diejenigen, die etwas PHP können.
Also wenn man es zum Beispiel mittels eines DropDown Lösen will oder es sich irgendwo passend zum Menü gestalten will, statt der Vorgabe aus der anderen Funktion.
Gibt zurück
var_dump( get_lang_switcher_array());
array(2) {
["DE"]=>
array(3) {
["title"]=>
string(6) "German"
["url"]=>
string(53) "http://localhost:4001/wbce_dev/dev_pages/pages/de/galerie.php"
["active"]=>
bool(false)
}
["EN"]=>
array(3) {
["title"]=>
string(7) "English"
["url"]=>
string(61) "http://localhost:4001/wbce_dev/dev_pages/pages/en/gallery.php"
["active"]=>
bool(true)
}
}
Habe die andere Funktion auch etwas aufgeräumt.
Gruß,
Christian
Last edited by stefanek (03.12.2016 11:16:22)
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
@stefanek
Gute Idee mit dem Array
bin grade unterwegs
kommt heut abend oder morgen früh ins Git
Eigentlich hatte CWsoft das schon mal gemacht , aber ich denke wir sollten alle module bei git irgendwie von den Core geschichten teilen . Hatte damals nur keine Zeit das rüber zu schaufeln :-(
Offline
Gut, die Datei habe ich oben ja auch schon angehängt.
Ich hänge Dir hier auch eine überarbeitete update_keys.php an.
Ich musste die erste Zeile auch auskommentieren:
if(count(get_included_files()) ==1){$z="HTTP/1.0 404 Not Found";header($z);die($z);}
Aus irgendeinem für mich nicht verständlichen Grund, gibt mir
print_r(get_included_files());
an dieser Stelle an, dass er die update_keys.php includiert, womit
if(count(get_included_files()) ==1){$z="HTTP/1.0 404 Not Found";header($z);die($z);}
der count bei 1 ist und das Skript nicht ausgeführt wird, sondern mir ein 404 ausgeliefert wird.
Bitte schau Dir das kurz an.
Gruß,
Christian
Last edited by stefanek (03.12.2016 12:38:02)
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Gut, noch einmal eine allgemeine Frage an WBCE/WB User, die diese Erweiterung (Multilang Switcher) verwenden.
War es bisher immer so, dass wenn man auf diesen Link klickt, ALLE vorher gemachten Verknüpfungen auf zurückgesetzt werden?
So ist es jetzt und ich denke nicht, dass es sinnvoll ist???
Oder hat sich da ein Fehler eingeschlichen?
Falls ein Fehler, wozu hat diese Reload-Funktion sonst gedient?
Bitte um Mithilfe.
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
War es bisher immer so, dass wenn man auf diesen Link klickt, ALLE vorher gemachten Verknüpfungen auf zurückgesetzt werden?
Ich hab's mal auf meine beiden Webseiten getestet, die Funktion öffnet per target="_self" eine weiße Seite (was nicht sehr schön ist) mit dem Inhalt 404, welcher durch //no direct file access erzeugt wird, geändert hat sich aber nichts.
Oder hat sich da ein Fehler eingeschlichen?
Falls ein Fehler, wozu hat diese Reload-Funktion sonst gedient?
Nach den Kommentaren hört sich das, für mich, wie nach einer einfachen Version von "Datenbank mit Dateisystem synchronisieren" an (wie in der RFG) nur mit dem unterschied das statt Ersetzen ein Reset durchgeführt wird.
Wäre es möglich die Funktion in einen Button auszulagern, wenn diese vorhanden bleibt?
Offline
Sei mir bitte nicht böse, aber wenn die eine funktion language_menu() heist, kann die andere gut language_array() heißen.
Cool wäre es wenn der Array auch noch icons und Abkürzungen zurück gäbe
update_keys.php
Hast recht das muss raus, die Datei wird direkt aufgerufen . Da geht das absichern daneben .
Habe die Zeile mal rausgeworfen .
Also mir ist irgendwie nicht vollständig klar was das Dingen tut ....
Vermutlich war das mal zum Debuggen gedacht ?
Offline
language_array() als Funktionsname ist OK.
Cool wäre es wenn der Array auch noch icons und Abkürzungen zurück gäbe
Abkürzung ist OK.
Grafiken würde ich nicht belegen, das kann man dann ja selber machen, wenn man es braucht.
Und dann kann man auch selber bestimmen, von wo die Grafiken kommen sollen (Template, languages VZ oder sonst woher).
Wer es einfach will, nimmt ja die language_menu() Variante. Die zweite Version ist wirklich nur für Leute, die mit Arrays umgehen können und eine customized Lösung brauchen.
Gruß,
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Gut,
habe die geänderte Datei angehängt.
Lass uns sie benennen: language_menu_array()
(language array klingt, als wenn es ein array von languages wäre und nicht etwas, das man als Menü verwenden kann.
update_keys.php
Hast recht das muss raus, die Datei wird direkt aufgerufen . Da geht das absichern daneben .
Habe die Zeile mal rausgeworfen .
Also mir ist irgendwie nicht vollständig klar was das Dingen tut ....
Vermutlich war das mal zum Debuggen gedacht ?
Na ja... was es tut weiß ich, es setzt alle page_codes zurück.
Warum es das tut verstehe ich allerdings überhaupt nicht. Also was der tatsächliche Vorteil davon sein soll, dass alle meine PageCodes wieder zurück gesetzt werden.
Gruß,
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Mist hatte das doch schon ins GIT gepackt . aber vergessen hier im Forum abzusenden :
https://github.com/NorHei/multilingual
Grafiken hab ich auch reingepackt , mitunter weil ich das aktuell grade gebrauchen kann .
Und die Abkürzungen stehen ja in den Keys.
Nicht Jeder möchte auch gleich eigene Fähnchen mitliefern und mit Hilfe des Namens oder der Abkürzung eigene Fähnchen einzubinden wird ja durch ein extra Feld im Array nicht behindert.
Nochmal, klasse Idee !!
Offline
Ja gut, die Fähnchen kann man natürlich auch so mitliefern.
"Klasse Idee"... persönlich mag ich nicht, wenn Module mir HTML ausgeben das ich nicht modifizieren kann.
Daher die Idee.
Gruß,
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
So, ich hab Version 1.8 in einem schnellen Durchgang getestet und es hat mir so gut gefallen, dass ich meine zwei Webseiten damit aktualisiert habe.
Ergebnis: Die Probleme von der alten Version sind verschwunden.
Edit: Folgende Zeile $module_platform = '2.8.3'; in der info.php könnte man noch auf WBCE $module_platform = '1.1.0'; anpassen.
LG Colinax
Last edited by colinax (05.12.2016 20:04:31)
Offline
Das ist nur noch drinn, damit das Modul noch mit WB Classic funktioniert ....
bin da ein wenig unsicher...
Offline
Die Variable $module_platform wird meines Wissens nach nicht in WB verwendet. Ich habe das in meinen Modulen auf WBCE geändert und die liefen auch noch unter WB.
Account inactive since 2018/11/17.
Offline
Hallo,
ich habe ein kleines Problem gefunden.
Wenn ich in der ersten Menüebene (DE, EN, FR) einen MenüLink auf eine entfernte Adresse verwende, wird target="_blank" ignoriert.
Ich hoffe, es kann jemand helfen.
Vielen Dank!
Offline
Hallo und willkommen,
das könnte möglicherweise auch am show_menu2-Aufruf im Template liegen. Kannst Du mal in die index.php des Templates schauen und hier mal posten, wie der Menüaufruf lautet? Müsste ungefähr anfangen mit <?php show_menu2( ....
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Hallo Florian,
die erste Menüebene wird von show_menu2 garnicht angezeigt (soll so sein).
Es geht um das anklicken der Flaggensymbole von mod _multilingual.
Offline
ach so. Okay, dann übergebe ich wieder an die Modul-Maintainer.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Die Versionsnummer bei Multlingual ist nicht konsistent/verwirrend. In der info.php des Moduls auf Git steht 1.8.0, als Modulname hingegen 1.9.0 und das (ältere?) Zip aim AOR nennt sich 1.9.1, beinhaltet aber eine 1.6.7.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Auf Git ist die 1.9.0 hatte versehentlich die richtige Nummer an die falsche Stelle gepackt.
Im AOR hat vermutlich das Formular meine Änderungen wieder nicht angenommen
Florian kannst du da nochmal schauen ?
Offline
Welches ist denn die richtige Versionsnummer?
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Git ist schon geändert :-)
Offline
Danke, fürs fixen der Versionsnummer.
Leider ist in der include.php der Version 1.9 ein Bug drinnen.
Der folgende Code sorgt dafür das die Seite nicht mehr geladen werden kann:
// Used for prefered Render type HTML5 or XHTML ...
$end_tag=" /";
if (defined('WB_RENDER')) $Render=WB_RENDER;
if ($this->Render!="xhtml") $end_tag=" ";
// output var
$out="\n";
Der Code aus der 1.8 funktioniert
$out="";
$end_tag=" /"; // Later used for prefered Render type HTML5 or XHTML ...
Offline