[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Artikel aus Frontend anlegen - cache... - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
paddle
Beiträge: 125
Registriert: 13. Jun 2006, 17:27
Wohnort: Gstaad, Schweiz

Artikel aus Frontend anlegen - cache...

27. Mai 2012, 21:58

Hi

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';
}
 
?>
Weiss jemand woran das liegt?
Danke!

Zurück zu „Allgemeines [R4]“