Ich habe ein Modul erstellt, das beim Aufruf einen neuen Artikel in 3 Sprachen erstellt. Es funktioniert soweit alles aber beim Aufruf wird der Artikel erst angezeigt, wenn ich den Cache im Backend gelöscht habe. Ich habe das Skript auf 2 Servern getestet - einmal mit RexSeo einmal ohne. Auf dem Server, wo ich RexSeo nicht installiert habe wird der Inhalt beim Aufruf gleich angezeigt, ohne dass ich den Cache löschen muss... ich bin mir aber nicht sicher, ob es wirklich am RexSEO liegt... als Vorlage habe ich das User Generated Content http://www.redaxo.org/de/download/modul ... e&cat_id=0 benutzt.
Hier der Code
Code: Alles auswählen
<?
//Keine Anzeige im Backend
if (!$REX['REDAXO']){
include 'includes/curlang.inc.php';
///////////////////////
//KONFIGURATION//
// Standart-Template-ID für alle Artikel
$template_default = '5';
// Kategorie-ID, in der die neuen Artikel abgelegt werden sollen
$catid = '13';
// Zeitstempel dient auch als Laufvariable
$timestamp = time();
if($_REQUEST['img_name']!='') {
$filename = $_REQUEST['img_name'];
$bild = OOMedia::getMediaByName($filename);
$pseudo = $bild->getTitle();
$vorname = $bild->getValue('med_vorname');
$nachname = $bild->getValue('med_nachname');
////////////////////////
//Artikelanlegen
$query = 'SELECT MAX( id ) FROM rex_article ';
$sql = new sql();
$id = $sql->get_array($query);
$id = $id[0]['MAX( id )'] +1;
$re_id = $catid;
$name = $vorname.' '.$nachname;
$catname = 'Name';
$cattype = "0";
$catprior = "0";
$query = "SELECT path FROM rex_article WHERE id = ".$catid;
$sql = new sql();
$path = $sql->get_array($query);
$path = $path[0]['path'].$re_id.'|';
$status = "0";
$template_id = $template_default;
$createuser = $user;
$updateuser = $createuser;
$time = $timestamp;
// Pro Sprache 1 Eintrag - de, fr, it
foreach($REX['CLANG'] as $clang => $clang_name)
{
$query = "SELECT MAX( prior ) FROM rex_article WHERE re_id = ".$re_id;
$sql = new sql();
$prior = $sql->get_array($query);
$prior = $prior[0]['MAX( prior )'] +1;
$query = 'INSERT INTO rex_article(id,re_id,name,art_pseudo,art_vorname,art_nachname,catname,catprior,prior,path,status,art_file,art_online_from,art_online_to,createdate,updatedate,template_id,clang,createuser,updateuser ) VALUES("'.$id.'","'.$re_id.'","'.$name.'","'.$pseudo.'","'.$vorname.'","'.$nachname.'","'.$catname.'","'.$catprior.'","'.$prior.'","'.$path.'","'.$status.'","'.$filename.'","'.time().'","'.time().'","'.time().'","'.time().'","'.$template_id.'","'.$clang.'","'.$createuser.'","'.$updateuser.'")';
$sql = new sql();
$data = $sql->get_array($query);
///////////////////////
//Cache erstellen
$article = new article($id);
$article->setClang($clang);
$dname = $id.'.'.$clang.'.article';
$fp = fopen($REX['INCLUDE_PATH']."/generated/articles/".$dname, 'w');
fputs($fp,'<?php
$REX[\'ART\'][\''.$id.'\'][\'Article_id\'][\''.$clang.'\'] = "'.$id.'";
$REX[\'ART\'][\''.$id.'\'][\'re_id\'][\''.$clang.'\'] = "'.$re_id.'";
$REX[\'ART\'][\''.$id.'\'][\'name\'][\''.$clang.'\'] = "'.$name.'";
$REX[\'ART\'][\''.$id.'\'][\'catname\'][\''.$clang.'\'] = "'.$catname.'";
$REX[\'ART\'][\''.$id.'\'][\'art_description\'][\''.$clang.'\'] = "";
$REX[\'ART\'][\''.$id.'\'][\'art_file\'][\''.$clang.'\'] = "";
$REX[\'ART\'][\''.$id.'\'][\'art_type_id\'][\''.$clang.'\'] = "";
$REX[\'ART\'][\''.$id.'\'][\'art_teaser\'][\''.$clang.'\'] = "";
$REX[\'ART\'][\''.$id.'\'][\'startpage\'][\''.$clang.'\'] = "0";
$REX[\'ART\'][\''.$id.'\'][\'prior\'][\''.$clang.'\'] = "'.$prior.'";
$REX[\'ART\'][\''.$id.'\'][\'path\'][\''.$clang.'\'] = "'.$path.'";
$REX[\'ART\'][\''.$id.'\'][\'status\'][\''.$clang.'\'] = "'.$status.'";
$REX[\'ART\'][\''.$id.'\'][\'art_online_from\'][\''.$clang.'\'] = "'.$time.'";
$REX[\'ART\'][\''.$id.'\'][\'art_online_to\'][\''.$clang.'\'] = "'.$time.'";
$REX[\'ART\'][\''.$id.'\'][\'createdate\'][\''.$clang.'\'] = "'.$time.'";
$REX[\'ART\'][\''.$id.'\'][\'updatedate\'][\''.$clang.'\'] = "'.$time.'";
$REX[\'ART\'][\''.$id.'\'][\'art_keywords\'][\''.$clang.'\'] = "";
$REX[\'ART\'][\''.$id.'\'][\'template_id\'][\''.$clang.'\'] = "'.$template_id.'";
$REX[\'ART\'][\''.$id.'\'][\'createuser\'][\''.$clang.'\'] = "'.$createuser.'";
$REX[\'ART\'][\''.$id.'\'][\'updateuser\'][\''.$clang.'\'] = "'.$updateuser.'";
$REX[\'ART\'][\''.$id.'\'][\'last_update_stamp\'][\''.$clang.'\'] = "'.$time.'";
'.'?>' );
fclose($fp);
@ chmod($REX['INCLUDE_PATH']."/generated/articles/$id.$clang.article", 0777);
rex_generateArticle($id);
// $cachePath = $REX['INCLUDE_PATH']. DIRECTORY_SEPARATOR .'generated'. DIRECTORY_SEPARATOR .'articles'. DIRECTORY_SEPARATOR;
// @unlink($cachePath . $id .'.'. $_clang .'.content');
}
$url = rex_getUrl($this->getValue("article_id"), $REX['CUR_CLANG']);
//Weiterleiten, um Reloadproblem zu umgehen
header("Location: ".$url."?check=ready");
}
//Artikel erfolgreich angelegt
if($_REQUEST['check'] == 'ready') {
//echo '<h1>Artikel erfolgreich angelegt!</h1>';
print '<p>Ihre Registrierung wurde erfolgreich abgeschlossen!</p>';
}
else {
print '<p>Bestätigung fehlgeschlagen, bitte kontaktieren Sie uns.</p>';
}
} else {
print 'Text';
}
?>
Danke!