[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Fehler im REDAXO SQL-Export?
Seite 1 von 1

Fehler im REDAXO SQL-Export?

Verfasst: 18. Jun 2007, 10:45
von Zuperfly
Mein Problem: http://forum.redaxo.de/ftopic5871.html

Nun glaube ich inzwischen, dass es vielleicht ein Fehler im Database-Export von Redaxo sein könnte - denn offenbar ist die produzierte SQL-Syntax für die rex_template-Tabelle fehlerhaft. Bei einem Re-Import der Datenbank in REDAXO wird die Template-Tabelle einfach nicht mit angelegt ... könnte das vielleicht jemand überprüfen? Oder liege ich da völlig falsch? Danke!

Nachtrag: Auch wenn ich versuche, die Datenbank via PHPMyAdmin zwischen den beiden REDAXO-Installationen zu transferieren, kommt beim Import auf dem Live-Server folgende Meldung:

Code: Alles auswählen

 CREATE TABLE IF NOT EXISTS `rex_template` (
`id` int( 11 ) NOT NULL AUTO_INCREMENT ,
`label` varchar( 255 ) NOT NULL default '',
`name` varchar( 255 ) NOT NULL default '',
`content` text NOT NULL ,
`bcontent` text NOT NULL ,
`active` tinyint( 1 ) NOT NULL default '0',
`date` timestamp NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
`createuser` varchar( 255 ) NOT NULL default '',
`updateuser` varchar( 255 ) NOT NULL default '',
`createdate` int( 11 ) NOT NULL default '0',
`updatedate` int( 11 ) NOT NULL default '0',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM AUTO_INCREMENT =17 
Fehlermeldung:

Code: Alles auswählen

#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `createuser` v 
Wo liegt denn der Fehler? Wie müsste ich den SQL-Code anpassen, damit es klappt? Oder liegt der Fehler bei den unterschiedlichen SQL-Versionen (Testsystem: 4.1.21, Live-System: 4.0.23)?

Verfasst: 18. Jun 2007, 13:51
von Markus.Staab
Hi,

du musst den kompatibilitätsmodus im phpmyadmin wählen, sonst geht das zwischen MySQL 4.0 und 4.1 nicht.

Gruß,
Markus

Verfasst: 18. Jun 2007, 15:47
von Zuperfly
So hat's geklappt, besten Dank!

Aber wäre es dann nicht auch schön, wenn REDAXO selbst auch in diesem Modus exportieren würde? Denn wenn ich zwischen den beiden REDAXO-Installationen ex- und importiere, gibt es - offenbar aufgrund der unterschiedlichen SQL-Versionen auf den Servern - den Fehler in der Datenbank (bzw. die Template-Tabelle wird nicht angelegt)..

Templates werden nicht in Ordner kopiert

Verfasst: 1. Feb 2008, 22:03
von ThomasS
Hallo, liebe Forenmitglieder,

ich habe ein ähnliches Problem. Habe Redaxo 4 auf einem 1und1 Server installiert. Anfangs schien alles ok, aber als ich neue Templates anlegen wollte, gab es Probleme.

Ich habe einige der vorhandenen Templates manuell aus R3.3 herauskopiert und sie im Backend des R4 neu eingefügt. Z.B. das Drucktemplate. (Ein Update von 3.3 ist mir trotz vieler Versuche nicht gelungen, deshalb versuche ich, die Seiten neu in R4 aufzubauen.)

In der Datenbank (beide Redaxosysteme 3.3 und R4 haben Php 4.0) sind die Templates auch alle vorhanden - aber nicht im Templateordner! Manchmal erscheinen einige der ursprünglichen Templates dort, dann verschwinden sie wieder.

Ich habe die Schreibrechte des Templateordners auf 777 geändert, keine Besserung. (An den Schreibrechten liegt es wohl auch nicht, sonst würde der Files-Ordner Probleme machen, aber der funktioniert).

Habe die Datenbank mehrmals gelöscht und R4 neu aufgespielt - keine Besserung! Hat jemand eine Idee?

Vielen Dank
und herzliche Grüße
Thomas

Verfasst: 3. Feb 2008, 19:14
von wolfgang
Hallo,
ich habs grade auch gehabt, wobei es sich um ein Template handelte, das in einem anderen Template aufgerufen (included) wird.
Das Template, welches direkt dem Artikel zugeordnet war wurde in generated/templates brav neu angelegt, das andere nicht.
Es gab statt dessen eine schöne Fehlermeldung:
Unknown(): Unable to access /srv/www/htdocs/blabla/html/redaxo/include/generated/templates/2.template
Habe dann das eingebundene Template einmal einem Artikel zugeordnet, den Artikel aufgerufen und voila - Template stand in generated/templates
Rex 4.0.1 ohne Demo
Gruß Wolfgang

Includierte Templates werden nicht in "templates"

Verfasst: 4. Feb 2008, 10:42
von ThomasS
Guten Morgen,

vielen Dank für die genauere Beschreibung!

Stimmt, ich habe es bei mir nachgeprüft: auch bei mir werden die direkt eingelesenen Templates auf dem Server gespeichert. Nur die Templates, die ich ins Haupttemplate includiere, werden nicht gespeichert!

Herzliche Grüße
Thomas

Anmerkung zum Problem includierte Templates

Verfasst: 5. Feb 2008, 12:31
von ThomasS
Hallo liebes Forum,

das Problem konnte ich leider noch nicht lösen und damit R4 nicht verwenden. (Ich schreibe das, weil ich möglicherweise mit meiner letzte Mail den falschen Eindruck erweckt habe, dass nun alles klar sei).

Der Templates-Ordner in R4 ist mal mit Templates gefüllt, dann wieder nicht. Auch wenn ich die oben beschriebene Methode anwende und das Template direkt einem Artikel zuordne, bleiben die Templates nicht stabil im Ordner. Auch dann nicht, wenn ich Templates direkt in den Templates-Ordner kopiere. Irgendwie werden die Templates im Ordner gelöscht.

Vielen Dank und viele Grüße
Thomas

Re: Anmerkung zum Problem includierte Templates

Verfasst: 5. Feb 2008, 21:29
von Koala
ThomasS hat geschrieben:das Problem konnte ich leider noch nicht lösen und damit R4 nicht verwenden.
Was genau möchtest du denn eigentlich mit den Dateien im Template-Ordner machen?
Also was genau ist dein Problem dabei?

Templates sind in Datenbank, aber nicht im Templatesordner

Verfasst: 6. Feb 2008, 16:26
von ThomasS
Hallo Koala,

ich möchte gern zusätzlich zum default Haupttemplate weitere Templates einfügen, z.b.:

* Seite-Drucken-Template
* <ul>-Navigation für mehrere Benutzerbereiche inc. Breadcrumb
* Authentifizierung - mehrere Benutzerbereiche
* Breadcrumb
* E-Mail Adresse verschlüsseln
* Externe Links kennzeichen und in neuem Fenster öffnen
* Pop-Up Template

Diese Templates habe ich (aus der alten Website, die ich mit Redaxo 3.3 gebaut habe) ins Backend von R4 kopiert. Sie werden in der Datenbank gespeichert und sind im Backend hübsch aufgelistet zu sehen.

Allerdings erscheinen sie nicht in der Website, vermutlich deshalb, weil sie nicht im Templates-Ordner vorhanden sind:

redaxo/include/generated/templates

Das default-Template erscheint dort gelegentlich, aber alle anderen Templates werden von der Datenbank nicht in den Ordner Templates hineingeschrieben, auf dem Server existieren sie also nicht.

Herzliche Grüße
Thomas

Verfasst: 6. Feb 2008, 20:40
von Koala
Wie bringst du denn die Templates zusammen?
Bei mir reicht ein

Code: Alles auswählen

REX_TEMPLATE[4]
um das Template mit der ID 4 in ein anderes Template einzubinden.
Mehr ist dazu nicht notwendig.

Siehe auch WIKI::Templatetipps

Neue Pfade - Unterschied R3/R4

Verfasst: 7. Feb 2008, 14:42
von ThomasS
Hi Koala,

das ist eine Testdomain, auf der ich R4 zum Laufen bringen will, hier kannst Du die Fehlermeldungen sehen:
http://ich-baue-webseiten.de

Weil es nichts bringt, alle Fehlversuche beim Finden der richtigen Pfade mit REX_TEMPLATE[4] aufzulisten, gebe ich hier einfach die IDs wieder, wie sie in R3 funktioniert haben. Wie würdest Du diese Pfade für R4 umschreiben?

Vielen herzlichen Dank
Thomas


Navi mit Login, innerhalb <?php ... ?>:

Code: Alles auswählen

   $navTemplateId = "1";
// Das bei dieser Navi verwendete 
// Authentifizierungs-Template hat folgende ID:
    include $REX['INCLUDE_PATH']."/generated/templates/2.template";
Externe Links in neuem Fenster öffnen, innerhalb <?php ... ?>:

Code: Alles auswählen

// innerhalb php
// $linkTemplateId ="ID_dieses_Templates"

 $linkTemplateId = "7";
 include $REX['INCLUDE_PATH']."/generated/templates/$linkTemplateId.template";

E-Mail verschlüsseln, innerhalb <?php ... ?>:

Code: Alles auswählen


// ID des Templates:
$emailTemplateId = "6";
include $REX['INCLUDE_PATH']."/generated/templates/$emailTemplateId.template";

Suchtemplate (außerhalb php):

Code: Alles auswählen

<!-- ID der Suchergebnis-Seite hier eintragen: -->
                 
<form class="search-form" action="index.php" method="get">
<fieldset style="border:0px">
<input type="hidden" name="article_id" value="9" />
<input type="text" class="search-input" name="rexsearch" value="" size="16" />
<br />
<input type="submit" class="search-btn" name="Suche" value="Suche " />
</fieldset>
</form>                                  
<!-- Suchtemplate Ende -->

Login-Logout-Modul:

Code: Alles auswählen

<?php

// Login-Logout
      if (!$FORM['USR'] OR $FORM['LOGOUT'] == 1) {

      print '<ul class="navroot"><li class="inactive level1"><a class="level1 inactive"   href="'.rex_getUrl(86,$REX['CUR_CLANG']).' ">&bull; Login &raquo; </a></li></ul>'."\n";
      }
      else {
      print '<ul class="navroot"><li class="inactive level1">
  <a class="level1 inactive" href="'.rex_getUrl(86,$REX['CUR_CLANG'],'&FORM[LOGOUT]=1').' ">&laquo; Logout</a>
</li></ul>'."\n";
      }
?>

Breadcrumb:

Code: Alles auswählen

<div id="breadcrumb">

<?php $CrumbTemplateId = 3;
    include $REX['INCLUDE_PATH']."/generated/templates/$CrumbTemplateId.template"; ?>

    </div><!-- / breadcrumb  -->

Re: Neue Pfade - Unterschied R3/R4

Verfasst: 7. Feb 2008, 22:17
von Koala
Ohne Garantie und ungetestet.

Navi mit Login, innerhalb <?php ... ?>:

Code: Alles auswählen

// Das bei dieser Navi verwendete 
// Authentifizierungs-Template hat folgende ID:
?> REX_TEMPLATE[1] <?php
Externe Links in neuem Fenster öffnen, innerhalb <?php ... ?>:

Code: Alles auswählen

// innerhalb php
// $linkTemplateId ="ID_dieses_Templates"
?> REX_TEMPLATE[7] <?php

E-Mail verschlüsseln, innerhalb <?php ... ?>:

Code: Alles auswählen

// ID des Templates:
?> REX_TEMPLATE[6] <?php
Suchtemplate (außerhalb php):

Code: Alles auswählen

<!-- ID der Suchergebnis-Seite hier eintragen: -->
                 
<form class="search-form" action="index.php" method="get">
<fieldset style="border:0px">
<input type="hidden" name="article_id" value="9" />
<input type="text" class="search-input" name="rexsearch" value="" size="16" />
<br />
<input type="submit" class="search-btn" name="Suche" value="Suche " />
</fieldset>
</form>                                  
<!-- Suchtemplate Ende -->

Login-Logout-Modul:

Code: Alles auswählen

<?php

// Login-Logout
      if (!$FORM['USR'] OR $FORM['LOGOUT'] == 1) {

      print '<ul class="navroot"><li class="inactive level1"><a class="level1 inactive"   href="'.rex_getUrl(86,$REX['CUR_CLANG']).' ">&bull; Login &raquo; </a></li></ul>'."\n";
      }
      else {
      print '<ul class="navroot"><li class="inactive level1">
  <a class="level1 inactive" href="'.rex_getUrl(86,$REX['CUR_CLANG'],'&FORM[LOGOUT]=1').' ">&laquo; Logout</a>
</li></ul>'."\n";
      }
?>

Breadcrumb:

Code: Alles auswählen

<div id="breadcrumb">
REX_TEMPLATE[3]
    </div><!-- / breadcrumb  -->

Pfade im default Template Aktualisierung R3 auf R4

Verfasst: 9. Feb 2008, 16:46
von ThomasS
Hi Sven,

vielen lieben Dank, es hat funktioniert! Das hat mir wirklich sehr weitergeholfen, ich sitze schon seit Wochen an diesem R3/R4 Update und bin sehr froh, einen kleinen Schritt weiter zu sein!

Habe außerhalb <?php...?> eingesetzt:

Code: Alles auswählen

 REX_TEMPLATE[7]
Innerhalb PHP habe ich im Quelltext eingesetzt:

Code: Alles auswählen

$navTemplate = new rex_template(1);
include $navTemplate->getFile();
Das hatte ich zwar auch schon vorher probiert, aber erst mit Deiner Hilfe habe ich es jetzt richtig gemacht.

Die Navi ist noch nicht zu sehen, aber die vielen Fehlermeldungen haben sich auf die Folgenden zwei reduziert:

Code: Alles auswählen

Warning: Unknown(/homepages/37/d159080232/htdocs/ich-baue-webseiten/redaxo/include/include/generated/templates/.template): failed to open stream: Datei oder Verzeichnis nicht gefunden in /homepages/37/d159080232/htdocs/ich-baue-webseiten/redaxo/include/classes/class.rex_article.inc.php(609) : eval()'d code on line 66

Warning: (null)() [function.include]: Failed opening '/homepages/37/d159080232/htdocs/ich-baue-webseiten/redaxo/include/include/generated/templates/.template' for inclusion (include_path='.:/usr/local/lib/php') in /homepages/37/d159080232/htdocs/ich-baue-webseiten/redaxo/include/classes/class.rex_article.inc.php(609) : eval()'d code on line 66
In dieser besagten Zeile 66 steht in meinem default template:

Code: Alles auswählen

include $REX['INCLUDE_PATH']."/include/generated/templates/$navTemplateId.template";
(Die Zeile 66 gehört zu folgendem Codeblock):

Code: Alles auswählen

$article = OOArticle::getArticleById($REX['START_ARTICLE_ID'], $REX['CUR_CLANG']);
$articleK = $article->getValue("_keywords");
$articleD = $article->getDescription();


include $REX['INCLUDE_PATH']."/include/generated/templates/$navTemplateId.template";

	if($this->getValue("description") != "") {
		$meta_beschreibung = htmlspecialchars($this->getValue("description"));
	}
	else {
		$meta_beschreibung = htmlspecialchars($articleD);
	}
	
	if($this->getValue("keywords")!= "") {

		$meta_suchbegriffe = htmlspecialchars($this->getValue("keywords"));
	} 
	else {

		$meta_suchbegriffe = htmlspecialchars($articleK);
	} 

?>
Ich habe verschiedene Schreibweisen und auch absolute Pfade probiert, es funktioniert nicht!

Momentan ist die Navi noch nicht zu sehen, und leider auch die Startseite nicht (deren ID ich im Backend unter System - $REX['START_ARTICLE_ID'] eingetragen habe).

Viele herzliche Grüße
Thomas

Verfasst: 9. Feb 2008, 16:53
von Markus.Staab