Seite 1 von 1

Probleme mit createcode

Verfasst: Do 29. Jan 2004, 19:04
von proaudiosys
folgendes szenario:

ich habe hier lokal contenido installiert und für meine website angepasst, vorbereitet und mit daten gefüllt. nach erfolgreichem test habe ich es genauso auf meinen webspace kopiert. auch inkl. eines DB-dumps. meine lokale umgebung stimmt 1:1 mit der online-umgebung überein (konfiguration, db, pfade usw.).

jedenfalls konnte ich mich in das backend problemlos einloggen. auch hier habe ich die letzten pfadanpassungen vorgenommen. zusätzlich hab ich noch nen paar texte angepasst usw.

wollte ich jedoch das frontend starten, traten fehler auf. die bilder waren immer auf einen pfad geroutet, den ich hier lokal verwendet habe. und auch sonst war mancher text veraltet. wieso das nur?

mir fiel auf, dass es eine tabelle namen "code" gibt (präfix habe ich weggelassen). in dieser wird jede menge output-code gespeichert. irgendwie stand da aber noch der gleiche code drin. und geänderter code wird da nicht abgelegt. warum?

ich bin per php in die daten functions.con.php und habe da, wo der code generiert wird (conGenerateCode()) einige Änderungen vorgenommen. Keine war im Browser zu sehen. die funtkion gibt sogar den neuen code als return zurück (return $code;). nur wird dieser von der aufrufenden funktion nicht übernommen. z.b. in der front_content.php mittels
conGenerateCode($idcat, $idart, $lang, $client);
warum?

dann gibt es noch ne anweisung
if ( $db->f("createcode") == 0 && $force == 0) {
welche nach einem tabellenwert "createcode" fragt. ok, die tabelle cat_art speichert so einen wert. nur steht der hier auf 0. es wäre zu mühselig, diesen überall auf 1 zu setzen.

wie oder wo kann ich im backend bewirken, dass hier immer eine 1 eingetragen wird?

ich möchte auf den zugriff der tabelle code verzichten und immer den code generieren lassen. ich hab das leider noch nirgends gefunden.

THX im voraus.

Verfasst: Do 29. Jan 2004, 19:14
von emergence
an deiner stelle würd ich einfach den inhalt der tabelle con_code (ich lass mal den prefix drin) leeren (nicht löschen) und bitte nur diese tabelle...

Verfasst: Do 29. Jan 2004, 19:23
von timo
wenn createcode auf 0 steht, wird die funktion conGeneratecode nicht neu aufgerufen. wenn du änderungen machst, sollte das flag automatisch gesetzt werden - falls das nicht so ist, schau mal ins errorlog (wenn dort etwas von "lock table" steht -> forumssuche).

Verfasst: Do 29. Jan 2004, 20:18
von proaudiosys
> wenn createcode auf 0 steht, wird die funktion conGeneratecode nicht neu aufgerufen.

ich weiss ja nicht, von welcher stelle in contenido du redest, aber ich meinte die stelle in front_content.php:

Code: Alles auswählen

    if ( $db->f("createcode") == 0 && $force == 0) {
        	$sql = "SELECT code FROM ".$cfg["tab"]["code"]." WHERE idcatart = '".$idcatart."' AND idlang = '".$lang."'";
            $db->query($sql);
            
			   if ($db->num_rows() == 0)
            {
			   		conGenerateCode($idcat, $idart, $lang, $client);
        	$sql = "SELECT code FROM ".$cfg["tab"]["code"]." WHERE idcatart = '".$idcatart."' AND idlang = '".$lang."'";
            $db->query($sql);
			   }
            
               if ( $db->next_record() ) {
            	$code = $db->f("code");        
               } else {
                  if ( $contenido )
                        $code = "echo \"No code available.\";";
            else            
            {
                  	if ($error == 1)
            	{
            		echo "Fatal error: Could not display error page. Error to display was: 'No code available'";	
                    } else {
            		header ($errsite);
            	}
            }
        
        }

    } else {

        // echo "creating code for idcat:$idcat, idart:$idart, lang:$lang, client:$client<br><br>";

        cInclude("includes", "functions.con.php");
        cInclude("includes", "functions.tpl.php");
        cInclude("includes", "functions.mod.php");
        
        conGenerateCode($idcat, $idart, $lang, $client);

        $sql = "SELECT code FROM ".$cfg["tab"]["code"]." WHERE idcatart = '".$idcatart."' AND idlang = '".$lang."'";
        
        $db->query($sql);
        $db->next_record();
        
      	$code = $db->f("code");
    }
und hier wird es auch aufgerufen, wenn der createcode-wert auf 1 steht. oder sehe ich das jetzt falsch.

btw: ich hab die version 4.4.2 installiert.[/code]

Verfasst: Fr 30. Jan 2004, 07:55
von timo
richtig, ich schrieb ja auch:

wenn createcode auf 0 steht, wird die funktion conGeneratecode nicht neu aufgerufen.