bug bei mehrsprachigkeit con_code
bug bei mehrsprachigkeit con_code
hab mir gerade was nettes angesehen und bin da auf ein problem gestossen...
beispiel zum testen:
2 sprachen -> 1=deutsch, 2=englisch
ich hab ein modul das jeweils in einem template vorkommt und in beiden sprachen verwendet wird.
ich ändere das modul in deutsch oder englisch (ist in dem fall egal)
dann wird im feld createcode der wert auf 1 gesetzt...
bis hier her ist ja noch alles in ordnung...
nun kommt aber der clou...
ich sehe mir die seite im frontend auf deutsch an.
hier wird die änderung übernommen...
mit einem wechsel auf die zweite sprache wird die änderung nicht übernommen...
das intressante ist nun der wert für create code wird auf 0 gesetzt sobald die con_code in der einen sprache upgedatet wurde...
in der anderen sprache bleibt der alte modul code aktiv...
hauptproblem dürfte nun sein das dass feld createcode nicht sprachabhängig ist... dieses feld sollte am ehesten in die con_art_lang wandern... in der con_cat_art bringts leider nicht viel...
wie das ganze mit kategorien und layouts momentan aussieht kann ich momentan leider nicht abschätzen...
leider wird das etwas umbauarbeit im system benötigen...
oder anders gesagt der fehler tut wirklich weh...
beispiel zum testen:
2 sprachen -> 1=deutsch, 2=englisch
ich hab ein modul das jeweils in einem template vorkommt und in beiden sprachen verwendet wird.
ich ändere das modul in deutsch oder englisch (ist in dem fall egal)
dann wird im feld createcode der wert auf 1 gesetzt...
bis hier her ist ja noch alles in ordnung...
nun kommt aber der clou...
ich sehe mir die seite im frontend auf deutsch an.
hier wird die änderung übernommen...
mit einem wechsel auf die zweite sprache wird die änderung nicht übernommen...
das intressante ist nun der wert für create code wird auf 0 gesetzt sobald die con_code in der einen sprache upgedatet wurde...
in der anderen sprache bleibt der alte modul code aktiv...
hauptproblem dürfte nun sein das dass feld createcode nicht sprachabhängig ist... dieses feld sollte am ehesten in die con_art_lang wandern... in der con_cat_art bringts leider nicht viel...
wie das ganze mit kategorien und layouts momentan aussieht kann ich momentan leider nicht abschätzen...
leider wird das etwas umbauarbeit im system benötigen...
oder anders gesagt der fehler tut wirklich weh...
*** make your own tools (wishlist :: thx)
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
danke, das problem haben wir auch immer wieder - wir löschen öfters die con_code
ich seh mir das mal am montag an und bespreche das ganze mal
eventuell könnte create_code auch ganz rausfliegen, und die entsprechenden con_code-artikel könnten schon gleich gelöscht werden...dann werden sie ja auf jeden fall neu generiert
ich seh mir das mal am montag an und bespreche das ganze mal
eventuell könnte create_code auch ganz rausfliegen, und die entsprechenden con_code-artikel könnten schon gleich gelöscht werden...dann werden sie ja auf jeden fall neu generiert
das wäre eventuell die beste lösung...
wenn eine änderung statt findet den eintrag in der con_code komplett löschen...
ob dann noch createcode überhaupt benötigt wird ist dann noch fraglich...
ich werd mich selbst noch ein wenig damit spielen...
wenn eine änderung statt findet den eintrag in der con_code komplett löschen...
ob dann noch createcode überhaupt benötigt wird ist dann noch fraglich...
ich werd mich selbst noch ein wenig damit spielen...
*** make your own tools (wishlist :: thx)
es soll nicht die komplette con_code geleert werden sondern nur der entsprechende eintrag.
erzeugt werden muss der code der seite ja sowieso noch...
momentan wird zuerst das flag createcode gesetzt und erst dann in der front_content findet die erzeugung des codes statt...
wenn das flag nicht gesetzt ist und kein eintrag in der con_code vorhanden ist wird dieser sowieso erzeugt...
besonders bei vielen seiten ist es hilfreich nicht nachkontrollieren zu müssen ob die änderung auf allen seiten durchgeführt wurde.
momentan muss man das machen in dem man die con_code komplett leert... (das ist der momentane workaround für das problem)
erzeugt werden muss der code der seite ja sowieso noch...
momentan wird zuerst das flag createcode gesetzt und erst dann in der front_content findet die erzeugung des codes statt...
wenn das flag nicht gesetzt ist und kein eintrag in der con_code vorhanden ist wird dieser sowieso erzeugt...
besonders bei vielen seiten ist es hilfreich nicht nachkontrollieren zu müssen ob die änderung auf allen seiten durchgeführt wurde.
momentan muss man das machen in dem man die con_code komplett leert... (das ist der momentane workaround für das problem)
*** make your own tools (wishlist :: thx)
ähm hab mir das jetzt ne zeitlang überlegt und bin auf nen relativ simplen fix für das problem gekommen...
die änderung betrifft nur die front_content.php
da gibt ja
ähm der fix macht nichts anderes wie falls force=1 oder createcode=1
vorher die einträge aus der con_code zu entfernen
müsste an sich alle probleme beheben... oder hab ich was übersehen... ?
die änderung betrifft nur die front_content.php
da gibt ja
Code: Alles auswählen
/* Check if code is expired, create new code if needed */
if ( $db->f("createcode") == 0 && $force == 0) {
...
} else {
...
conGenerateCode($idcat, $idart, $lang, $client);
...
}
vorher die einträge aus der con_code zu entfernen
Code: Alles auswählen
/* Check if code is expired, create new code if needed */
if ( $db->f("createcode") == 0 && $force == 0) {
...
} else {
...
$sql = "DELETE FROM ".$cfg["tab"]["code"]." WHERE idcatart = '".$idcatart."'";
$db->query($sql);
conGenerateCode($idcat, $idart, $lang, $client);
...
}
*** make your own tools (wishlist :: thx)
nein eben nicht... sollte createcode auf 1 stehen wird der code einmal neu generiert, nach dem erstmaligen erzeugen des artikels wird das feld createcode wieder auf 0 gesetzt...
vorher werden aber alle einträge aus der con_code entfernt.
wechselt man nun in die andere sprache ist das feld createcode zwar noch immer 0 aber der eintrag in der con_code existiert nicht und wird erzeugt...
bei einem force=1 ist es egal, da die seite sowieso neu erzeugt wird.
denk ich mir zumindestens...
vorher werden aber alle einträge aus der con_code entfernt.
wechselt man nun in die andere sprache ist das feld createcode zwar noch immer 0 aber der eintrag in der con_code existiert nicht und wird erzeugt...
bei einem force=1 ist es egal, da die seite sowieso neu erzeugt wird.
denk ich mir zumindestens...
*** make your own tools (wishlist :: thx)