Seite 1 von 1

Module: Include einer WWW Seite

Verfasst: Fr 4. Aug 2006, 09:17
von Damian
Hallo

Ich möchte in einem Modul eine http Seite includen, nur wie kann ich das machen? Die normalen PHP Includes Funktionen ergeben immer fehlermeldungen.......

Dank und Gruss

Verfasst: Fr 4. Aug 2006, 09:19
von emergence
such mal nach iframe
oder
webgrab

Verfasst: Fr 4. Aug 2006, 09:37
von Damian
Danke, ich deute deine Antwort als nein.
iFrame sind scheisse und veraltet, und webgrab gibts anscheinend nicht mehr...

gruss

Verfasst: Fr 4. Aug 2006, 09:50
von schlaucher
Hi,

wenn Du eine lokale HTML Datei einfügen willst, dann versuche es mal mit folgendem Modul. Ich habe es hier mal im Forum gefunden und es funktioniert.

Modul HTML-Datei einfügen

Beschreibung:

Code: Alles auswählen

Modul zum Einbinden einer HTML-Datei
Autor: Murat Purc, murat@purc.de
Version: 0.9

Wichtig:
Unter "Administration -> Mandanten -> Mandanteneinstellungen" ist eine folgende Variable einzufügen:

Typ   Name           Wert
dir   html.snippet   templates/snippets/

Das Verzeichnis "templates/snipplets/" (kann auch anders lauten) muss im im Client-Verzeichnis existieren und sollte auch HTML-Dateien enthalten.
Input:

Code: Alles auswählen

?><?php
// input HTML-Snippet

cInclude('classes', 'contenido/class.client.php');


class cModHtmlSnippet{
	function cModHtmlSnippet(){
		global $cfgClient, $client;

		$this->selSnippet = "CMS_VALUE[0]";

		$cApiClient     = new cApiClient($client);
		$subdir         = $cApiClient->getProperty('dir','html.snippet', '');
		$this->counter  = 0;
		$this->path     = $cfgClient[$client]['path']['frontend'].$subdir;
		$this->htmlpath = $cfgClient[$client]['htmlpath']['frontend'].$subdir;
		$this->arrFiles = $this->_readDir($this->path);
	}


	function generateIncOptions(){
		$ret = '<option value="">'.mi18n("--- Datei auswählen ---").'</option>'."\n";
		foreach ($this->arrFiles as $pos => $file) {
			$sel  = ($file == $this->selSnippet) ? ' selected="selected"' : '';
			$ret .= '<option value="'.$file.'"'.$sel.'>'.$file.'</option>'."\n";
		}
		return $ret;
	}


	function _readDir($dir){
		$hDir = opendir($dir);
		while ($sFile = readdir($hDir)) {
			$isEmpty = ($sFile == '.' || $sFile == '..') ? true : false;
			$bIsDir  = (is_dir($dir.$sFile) && !$isEmpty) ? true : false;
			if(!$bIsDir && !$isEmpty) {
				$arrFiles[] = $sFile;
			}
		}
		closedir($hDir);
		return $arrFiles;
	}

} // class cModHtmlSnippet


$oMHS = new cModHtmlSnippet();

?>

<table cellspacing="0" cellpadding="3" border="0">
<tr><td valign="top" class="text_medium"><b><u><?php echo mi18n("Einzubindende HTML-Datei auswählen:"); ?></u></b></td></tr>
<tr><td class="text_medium">
	<select name="CMS_VAR[0]" class="text_medium">
	<?php echo $oMHS->generateIncOptions(); ?>
	</select>
</td></tr>
</table>

<?php

unset($oMHS);
Output:

Code: Alles auswählen

<?php
// output HTML-Snippet

class cModHtmlSnippet{

	function cModHtmlSnippet(){
		global $client;
		$cApiClient    = new cApiClient($client);
		$this->path    = $cApiClient->getProperty('dir','html.snippet', '');
		$this->incFile = "CMS_VALUE[0]";
	}


	function generateOutput(){
		if ($this->incFile == '') {
			return;
		}

		$arr = explode('.', $this->incFile);
		$ext = strtolower($arr[count($arr)-1]);
		switch ($ext) {
			case 'html':
				// selected file is a html file, include file and pray that the user done right
				cInclude('frontend', $this->path.$this->incFile); break;
			case 'htm':
				// selected file is a htm file, include file and pray that the user done right
				cInclude('frontend', $this->path.$this->incFile); break;
			default:
				break;
		}
	} // function generateOutput()

} // class cModHtmlSnippet


$oMHS = new cModHtmlSnippet();
$oMHS->generateOutput();
unset($oMHS);

?>
Gruß
schlaucher