[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • DynTable Reloaded. 4.x Ready *UPDATE 4.2 verfügbar*
Seite 1 von 3

DynTable Reloaded. 4.x Ready *UPDATE 4.2 verfügbar*

Verfasst: 12. Sep 2008, 11:45
von Hirbod
Dies ist die Version für 4.1, die neue Version findest du unter http://forum.redaxo.de/sutra77724.html




Hallo an alle,

es freut mich, meine Weiterentwicklung der "Tabelle dynamisch" vorstellen zu dürfen.

Die neue Version habe ich jetzt "DynTable" getauft.

Hat noch kleinere Bugs und es existieren 2-3 unnötige Funktionen, die für meinen Kunden gedacht waren, hab aber wenig Lust und Zeit gehabt, diese jetzt zu entfernen.
Naja, es stört auch nicht sonderlich.

In der nächsten Version entferne ich dann alle unnötigen Funktionen und behebe die letzten Bugs.

Basiert auf der Version von Ulrich Zdebel (http://www.redaxo.de/165-Moduldetails.h ... ule_id=287)

Da sich soviele Änderungen ergeben haben, und ich fast alles komplett neu strukturiert habe, setzte ich die Version von 0.2 auf 1.0 Beta an.


Neue Funktionen:

- Neue Zelle kann an beliebiger Stelle eingefügt werden.
- Zellen können nach oben und unten verschoben werden.
- Zellen können an beliebiger Stelle eingefügt und entfernt werden
(nicht wie in der alten Version immer nur die letzte)
- Textile-Formatierung in jeder Zelle möglich (bold, kursiv, links)

Bis auf ein paar kleine Mängel funktioniert alles bestens.


Eingabe:

Code: Alles auswählen

<style type="text/css">
#tableImgs {
	float: left;
	width: 40px;
	margin-bottom: 5px;
	margin-top: 5px;
}
</style>
<?
$rexname   = split("~~","REX_VALUE[1]");
$GLOBALS['rexname'] = $rexname;

/**
 * --------------------------------------------------------------------
 *
 * Redaxo Modul: DynTable
 * 
 * Version: 1.0, 12.09.08 (Copyright 2008 Hirbod - www.softloop.net, Ulrich Zdebel, uzdebel@web.de)
 *   
 * Basiert auf der Version von Ulrich Zdebel, uzdebel@web.de (Version 0.2)
 * Reloaded Version 1.0 by Hirbod (softloop.net) / REX 4.1 kompatibel und um mehrere wichtige Features erweitert
 *    
 * --------------------------------------------------------------------
 * - Neu:
 *
 * - REX 4.0 / 4.1 portiert
 * - Zellen können an beliebiger Stelle eingefügt oder entfernt werden
 * - Zellen können beliebig verschoben werden
 * - Die 99 Zellen Begrenzung ist raus, aber noch unsauber gelöst. Es wird dran gearbeitet
 * - rexname überarbeitet und genügt als "presave"-aktion
 * - Viele Bugs entfernt und den Code etwas bereinigt
 *
 */
 
/**
* -----------------------------------------------------------------------------
* Aktionen für das Modul setzen:
* rexname [PRE|ADD|EDIT] 
*  
*
* OPTIONEN:
*
* $maxSize: 
* Maximal zulässige Breite "eines" Inputfeldes, wenn sich dieses über
* den zulässigen Bildschirmbereich erstrecken würde.
*  
* $headline: 
* Mögliche Tabellenüberschrift
* 
* $colChooserAllowed:
* true:eingeschaltet; false:ausgeschaltet 
* Anzeigeoption für Selectelement zur Einstellung der Tabellenspalten 
* 
* $maxColChooserValues:
* Maximal einstellbare Anzahl an Spalten
* 
* $colChooserInfo:
* true: einschalten; false: ausschalten
* Einschalten des Infotextes wie die Spaltenzahl verändert wird.
*
* $maxCols: 
* Ist aktiv, wenn $colChooserAllowed=false; ist ! 
* Voreinstellung der maximalen Anzahl an Spalten. 
* 
* $tableIdChooserAllowed:
* Schaltet das Inputfeld zur Eingabe der Tabel id ein / aus
* Für $tableIdChooserAllowed=false wird stets table id="dyntable" gesetzt !
* ------------------------------------------------------------------------------
*/

// OPTIONEN
$maxSize  = 120;
$headline = '';
$colChooserAllowed = true;
$maxColChooserValues = 100;
$maxCols = 100;
$colChooserInfo = true;
$tableIdChooserAllowed = true;



$colChooserInfo=true;
if($maxColChooserValues<=1) 
{ 
	$colChooserAllowed = false; 
	$colChooserInfo=false; 
} 
if(!$colChooserAllowed) $rexname[1] = $maxCols;
 
if(!isset($rexname[1]) OR ($rexname[1]=='')) 
{
	$rexname[1] = 1; 
	$sizeArr = array($maxSize); 
} else {  
  	$size = floor($maxSize / $rexname[1]);  
  	for($i=0;$i<$rexname[1];$i++) $sizeArr[] = $size;
}

$tableID = (isset($rexname[3])&&($rexname[3]!=''))?$rexname[3]:'dyntable';   
?>

<?
$jsSizeArr = "new Array('".implode("','",$sizeArr)."')";

$script=<<<EOD
<script language="javascript">

	function numRows(table_id) { 
		var rows = document.getElementById(table_id).getElementsByTagName('tr');
		return rows.length; 
	}
			
	function numCols(table_id) { 
		var cols = document.getElementById(table_id).getElementsByTagName('input');
		return cols.length;
	}
	
	function createInput(pRow, pCellNum, psize )
	{ 
		var row_value = ''; 
		var cell = pRow.insertCell(pCellNum); 
		var el = document.createElement('input'); 
		el.setAttribute('type', 'text'); 
		el.setAttribute('value', row_value);
		el.setAttribute('name', '');
		el.setAttribute('size', psize); 
		cell.appendChild(el);
	}
	


	function addRow(r, table_id){
	
		if (!document.getElementById || !document.createElement || !document.createTextNode) 
		{ 
			alert ("Ihr Browser unterst&tzt die Funktion leider nicht !"); return;
		}
		
		var rowIndex;
		
		if(r)
			rowIndex = r.parentNode.parentNode.rowIndex + 1;
		else
			rowIndex = numRows(table_id);
			
		//alert(rowIndex);
		
		var sizeArr = $jsSizeArr; 
		var table = document.getElementById(table_id); 
		var lastRow = numRows(table_id); 
		var rowNum = lastRow+1; 
		var lastCol = numCols(table_id); 
		var colCount = lastCol / lastRow; 
		if (--- == "MacPPC") 
		{ 
			rowIndex = rowIndex * 2;
		}
		
		var row = table.insertRow(rowIndex); 
		for(var i=0;i<colCount;i++) createInput(row, i, sizeArr[i]);
		createButtons(row, table_id);
		setRowColHidden(rowNum, colCount);
		updateRexname(table_id);
	}
	
	function setRowColHidden( rowNum, colCount )
	{ 
		document.getElementById('REX_FORM').elements['rexname[0]'].value = rowNum + ':' + colCount;
	}
				
	function createButtons(row, table_id)
	{ 
		var cell = row.insertCell(0);
		cell.innerHTML = '<a href="#row" onclick="addRow(this, \'' + table_id + '\')";><img src="./media/file_add.gif" /></a>' +
						 '<a href="#row" onclick="moveUp(this, \'' + table_id + '\')";><img src="./media/file_up.gif" /></a>' +
		                 '<a href="#row" onclick="deleteRow(this, \'' + table_id + '\')";><img src="./media/file_del.gif" /></a>' +
		                 '<a href="#row" onclick="moveDown(this, \'' + table_id + '\')";><img src="./media/file_down.gif" /></a>';
	}
	
	function moveUp(link, table_id){
	
		var row = link.parentNode.parentNode;
	
		if (0 == row.rowIndex) {
			alert('Die erste Zeile kann nicht weiter nach oben verschoben werden!');
		} else {
			var prevRow = row.previousSibling;
			row.parentNode.removeChild(row);
			prevRow.parentNode.insertBefore(row, prevRow);
			updateRexname(table_id);
		}
	}
	
	function moveDown(link, table_id){
		
		var row = link.parentNode.parentNode;

		if (numRows(table_id) == row.rowIndex + 1) {
			alert('Die letze Zeile kann nicht weiter nach unten verschoben werden!');
		} else {
			var nextRow = row.nextSibling;
			row.parentNode.removeChild(nextRow);
			row.parentNode.insertBefore(nextRow, row);
			updateRexname(table_id);
		}
	}
					
	function setCol(p)
	{ 
		var rowcol = document.getElementById('REX_FORM').elements['rexname[0]'].value;
		var rowcol = document.REX_FORM.elements['rexname[0]'].value;  
		var rowcolArr = rowcol.split(":"); 
		document.getElementById('REX_FORM').elements['rexname[0]'].value = rowcolArr[0] + ':' + p;
	}
					
	function deleteRow(r, table_id)
	{
		var i;
		
		if(r)
			i = r.parentNode.parentNode.rowIndex;
		else
			i = numRows(table_id)-1;
		
		if (i == 0) {
			alert('Die erste Zeile kann nicht gelöscht werden');
		} else {
		
			document.getElementById(table_id).deleteRow(i);
			
			var lastCol = numCols(table_id); 
			lastRow = numRows(table_id); 
			var colCount = lastCol / lastRow; 
			setRowColHidden( lastRow, colCount );
			updateRexname(table_id);
		}
		
	}
					
	function updateRexname(table_id)
	{
		var inputWert = document.getElementById(table_id).getElementsByTagName('input');
		
		for (var k = 0; k < inputWert.length; k++) 
		{
			inputWert[k].name = "rexname[" + (k+4) + "]";
		}
		 
	}
	
	function setHdl()
	{
		var hdlValue = document.REX_FORM.elements['rexname[2]'].value; 
		if(hdlValue==1)
		{
			document.REX_FORM.elements['rexname[2]'].value=0; 
		} else {
			document.REX_FORM.elements['rexname[2]'].value=1;
		}
	}
</script>

EOD;

// Script im Backend einfügen 
if(!$REX['GG']) echo $script;
?>

<? echo $headline; ?>

<?
/**
 * -----------------------------------------------------------------------------
 * Vorgabe der Tabellenkonstruktion mit 1 Zeile
 * -----------------------------------------------------------------------------
 */    
?>

<? 
$rexname_col = (isset($rexname[1])&&($rexname[1]!=''))?$rexname[1]:1;

$table_id = 'tabelle';
$colChooser = true;

// Jetzt generieren wir die erste Spalte mit X Cols, falls noch keine zusätzlichen Spalten angelegt wurden

if( isset($rexname[0]) && ($rexname[0]=='')) 
{
	$colChooser=true;  
	$rexname_rowcol = '1:'.$rexname[1];
   
	$table  = '<table id="'.$table_id.'">';
	$table .= '<tr>';

	$k=4;
	for($i=0;$i<$rexname_col;$i++) 
	{
	    $rexname_value = isset($rexname[$k])?$rexname[$k]:'';  
	    $table .= '<td><input type="text" name="rexname['.($k).']" value="'.$rexname_value.'" size="'.$sizeArr[$i].'" /></td>';
	    $k++;
	} 
	$table .= '</tr>';  
	$table .= '</table>';
}

// Ende
?>

	<?
	/**
	* -----------------------------------------------------------------------------
	* Jetzt werden die restlich angelegten Felder dynamisch generiert
	* -----------------------------------------------------------------------------*/
	if( isset($rexname[0])&& ereg(':',$rexname[0]) ) 
	{
		list($rows, $cols) = split(':',$rexname[0]);

		$colChooser = ($rows==1)?true:false;

		$rexname_rowcol = ( isset($rexname[0]) && ($rexname[0]!='') ) ? $rows.':'.$rexname_col : '1:'.$rexname_col;

		$table = '<table id="'.$table_id.'">';

		$k=4;
		for($i=0;$i<$rows;$i++) 
		{
			$table  .= '<tr><td id="tableImgs">
			<a href="#row" onclick="addRow(this, \''.$table_id.'\')";><img src="./media/file_add.gif" /></a>
			<a href="#row" onclick="moveUp(this, \''.$table_id.'\')";><img src="./media/file_up.gif" /></a>
			<a href="#row" onclick="deleteRow(this, \''.$table_id.'\')";><img src="./media/file_del.gif" /></a>
			<a href="#row" onclick="moveDown(this, \''.$table_id.'\')";><img src="./media/file_down.gif" /></a>
			</td> ';
			for($j=0;$j<$cols;$j++) 
			{
				$rexname_value = (isset( $rexname[$k] ) ) ? $rexname[$k] : ''; 
				$table .= '<td><input type="text" name="rexname['.$k.']" value="'.$rexname_value.'" size="'.$sizeArr[$j].'" /></td>';
				$k++;
			}
				$table .= '</tr>';
		}
		$table .= '</table>';  
	}

	?>
<?=$table;?>

<input name="rexname[0]" type="hidden" value="<?=$rexname_rowcol;?>" />
<input name="rexname[1]" type="hidden" value="<?=$rexname_col;?>" />
<input name="rexname[2]" type="hidden" value="<?=$rexname[2];?>" />
<br />
<a name="row"></a>
<fieldset style="color:#ff0000">
<a href="#row" onClick="addRow(null, '<?=$table_id;?>')"><img src="./media/file_add.gif" /></a>
<a href="#row" onClick="deleteRow(null, '<?=$table_id;?>')"><img src="./media/file_del.gif" /></a><br />
</fieldset>
<br />



<fieldset>
<legend>Spaltenanzahl</legend>
<select name="rexname[1]" onchange="setCol( this[selectedIndex].value ); document.getElementById('REX_FORM').update.value=1; submit();">
<?
foreach( range(1,$maxColChooserValues) as $value) {
	echo '<option value="'.$value.'"';
	
	if ( $rexname[1]=="$value" ) {
		echo 'selected="selected" ';
	}
	echo '>'.$value.'</option>';
}
?>
</select>
</fieldset>
<br /><br />

<fieldset>
<legend>Zeile 1 als Tabellenüberschrift (th) auszeichen?</legend>
<div style="float:left;">

Ja <input type="radio" name="rexname[2]" value="1" <? if ($rexname[2] == '1') echo 'checked'; ?> /> | Nein <input type="radio" name="rexname[2]" value="0" <? if ($rexname[2] == '0') echo 'checked'; ?> /></div>
</fieldset>
<br /><br />

<fieldset>
<legend>noHover aktivieren? (nur wenn Zeile 1 Darstellungsprobleme beim Hovern hat)</legend>
<div style="float:left;">

Ja <input type="radio" name="VALUE[5]" value="1" <? if ("REX_VALUE[5]" == '1') echo 'checked'; ?> /> | Nein <input type="radio" name="VALUE[5]" value="0" <? if ("REX_VALUE[5]" == '0') echo 'checked'; ?> /></div>
</fieldset>
<br /><br />



 
<?if($tableIdChooserAllowed):?>
	<fieldset>
		<legend>
			Der Tabelle eine Klasse vergeben (class=).<br />
			Keine Eingabe = dyntable
		</legend>
		<input type="text" name="rexname[3]" value="<?=(isset($rexname[3])&&($rexname[3]!=''))?$rexname[3]:'dyntable';?>">
	</fieldset>
<br />
<?endif;?>




<? if($colChooserInfo) { ?>
<fieldset>
<legend>Information</legend>
- Textile-Formatierung kann in jeder Zelle angewandt werden.<br />
- Bei veränderter Spaltenanzahl bitte <strong>zwei mal</strong>, "Block übernehmen" betätigen.<br />
</fieldset>


<? } ?>

</table>
Ausgabe:

Code: Alles auswählen

<? $rexname = split("~~","REX_VALUE[1]"); 
$GLOBALS['rexname'] = $rexname; ?>

<?

 $styleInfoVisible = true;     
?>

<?
$table_id = ( isset($rexname[3]) && ($rexname[3]!='') )?$rexname[3]:'dyntable';
      
if( isset($rexname[0])&&(ereg(':',$rexname[0])) ) 
{  
  list($rows,$cols) = split(':', $rexname[0]);
  
	$k=4;
	$c=0;
	
	if ("REX_VALUE[5]" == "1")
	{
		$activeNoHover = $this->getValue('article_id');
	} 


  
  $tdStyleArr = array();
  $thStyleArr = array();
  
  $table = '<table class="'.$table_id.'">';
  
	for($i=0;$i<$rows;$i++) 
	{
		if ($i == 0 or $i == 1 && $this->getValue('article_id') != $activeNoHover)
		{
			$table .= '<tr class="noHover">';	
		} else {
			$table .= '<tr>';
		}
		$tdi=1;
		for($j=0;$j<$cols;$j++) 
		{
			$c.=($rexname[$k]!='')?1:0;

			$rexname[$k] = str_replace(""", "\"", $rexname[$k]);
			$rexname[$k] = str_replace("<", "<", $rexname[$k]);
			$rexname[$k] = str_replace(">", ">", $rexname[$k]);

			if (empty($rexname[$k])) 
			{
				$rexname[$k] = "&nbsp;";
			}

// Inputfelder mit Textile formatieren (php-code nicht eingerückt, weil das sonst EOT-Fehler verursacht.)
$input =<<<EOT
$rexname[$k]
EOT;
$textile = new Textile; 
if ("$rexname[$k]" != "") 
$rexname[$k] = $textile->TextileThis($input);
$rexname[$k] = str_replace("###","&#x20;",$rexname[$k]);

      
	      // die erste Zeile als Tabellenüberschrift
	      if( isset($rexname[2]) && ($rexname[2]==1) && ($i==0) ) { 
	        $table .= '<th class="th'.$tdi.'">'.$rexname[$k].'</th>'; 
	        #$thStyleArr[] = '#dyntable .th'.$tdi;
	        $thStyleArr[] = '#'.$table_id.' .th'.$tdi;
	        $k++; $tdi++;

	      } else {
	
	
		//$pos1 = stripos($rexname[$k], ".2008");
		//echo $pos1;
		//if ($pos1 != false)  continue; 
        $table .= '<td class="td'.$tdi.'">'.$rexname[$k].'</td>'; 
        #$tdStyleArr[] = '#dyntable .td'.$tdi;
        $tdStyleArr[] = '#'.$table_id.' .td'.$tdi;
        $k++; $tdi++;

      }
    }
    $table .= '</tr>';
  }
  $table .= '</table>';
  

  
  
// Nur Backendformatierung 
if(!$REX['REDAXO']) 
{   
echo <<<EOD
<style type="text/css">
$tableStyle
$thStyleStr
$tdStyleStr         
</style>
EOD;
}

	// Nur Backend
	if(!$REX['REDAXO']) {
	if($c>0) echo $table; else {
	echo '<fieldset><legend>Info</legend>';
	echo 'Sämtliche Tabellenzellen sind leer !';
	echo '</fieldset>';
	}
	}  
	
	// Nur Frontend
	if($REX['REDAXO']) {
		if($c>0) echo '<!-- colsplit -->'.$table;
	}

// StyleInfo: Nur Backend 
if((!$REX['REDAXO'])&&($styleInfoVisible)) {

echo '<br /><br />';

$info  = '<fieldset>';
$info .= '<legend>Styleangaben</legend>';

$info .= 'Die Anzeige der Styleangaben wird in der Backendausgabe dieses Moduls abgeschaltet durch: $styleInfoVisible = false;';
$info .= '<br /><br />';

$info .= '<b>Tabelle:</b><br />id="'.$table_id.'"<br />';

// CSS Tabellenüberschrift
if(count($thStyleArr)>0) {

$info .= '<br />'; 
$info .= '<b>Überschrift:</b>';
$info .= '<br />';
  
$tdi=1;
for($j=0; $j<$cols; $j++) {

$info .= $tdi.'.Spalte: class="th'.$tdi.'"' . '<br />'; $tdi++;
}      
$info .= '<br /><b>Andere Zellen:</b><br />';
} else $info .= '<br /><b>Zellen:</b><br />';

// CSS andere Zellen
$tdi=1;
for($j=0; $j<$cols; $j++) {
$info .= $tdi.'.Spalte: class="td'.$tdi.'"' . '<br />'; $tdi++; 
}  
$info .= '</fieldset>';




}  
}

unset($tdStyleArr);
unset($thStyleArr);

?>
rexname: (nur als presave, funktion überarbeitet und verbessert)

Code: Alles auswählen

<?php
	$newname = "";
	for ( $c = 0; $c < 9999; $c++ ) 
	{
		if (isset($rexname[$c])) 
		{
			//$rexname[$c] = str_replace("\\\"", "\"", $rexname[$c]);
			$rexname[$c] = stripslashes($rexname[$c]);
			$newname .= $rexname[$c] . '~~'; 
		} else { 
			$newname .= '~~'; 
		}
	}
	$REX_ACTION['VALUE'][1] = $newname;
?>
Das Modul läuft sehr stabil und ist aktuell auf www.themis-industries.de im Einsatz (unser Kunde)

Ich hoffe, das euch dieses innovative Modul hilft.
Gruß

Hirbod

P.S: Hier noch ein Screenshot :-)

[ externes Bild ]

Verfasst: 12. Sep 2008, 12:05
von Hirbod
Achja, ein Feedback wäre natürlich toll :)

Verfasst: 16. Sep 2008, 15:57
von ralf.schlott
Ich sag erstmal vielen Dank für die Mühe. Sowas habe ich schon lange gesucht und werde es demnächst mal auf einer Kundenseite testen, ob er damit zurecht kommt!

Verfasst: 19. Sep 2008, 16:20
von Hirbod
Bitte. Ist aber noch bisschen Buggy. Das wird bei Zeiten gefixt, aber eigentlich schon einsatzfähig.

Error

Verfasst: 19. Sep 2008, 17:36
von nitzer
Ich krieg im Backend immer einen Fehler angezeigt:

arse error: syntax error, unexpected T_SL in /Applications/MAMP/htdocs/redaxo41/redaxo/include/classes/class.rex_article.inc.php(596) : eval()'d code on line 125

Any idea?

Verfasst: 20. Sep 2008, 02:18
von Hirbod
Hab das Modul eben noch mal auf nem neuen Redaxo 4.1 System installiert. Kann den Fehler leider nicht reproduzieren.

Hast du unter Module eine "Aktion" mit dem namen "rexname" als "Presave" für add,edit,delete eingetragen und es dem modul zugeordnet? Und, hast du den Quelltext auch richtig kopiert?

Verfasst: 20. Sep 2008, 11:31
von ralf.schlott
Hm, ich hab keine Fehlermeldung, aber wenn ich das installierte Modul auswähle, um es auszuprobieren, erscheint nix.

Was ich gemacht habe:
Eingabe, Ausgabe eingefügt. Deinen Code als rexname-Aktion nur in dem Feld "Presave-Action [Wird vor dem Speichern des Moduls ausgeführt]" eingefügt und dazu ADD/EDIT/DEL ausgewählt. Die anderen Felder leer gelassen und auch nicht ADD/EDIT/DEL gewählt, zuletzt dem Modul zugewiesen...

genau

Verfasst: 20. Sep 2008, 13:00
von nitzer
ich das lokal getestet mit MAMP unter MAc OS X und mir in der php.ini die error-reports mal eingeschaltet. wenn die ausgeschaltet sind erscheint auch nichts.

den code habe ich mir auch nochmal komplett neu eingefügt aber der Fehler bleibt leider.

Ich schätze mal, da fehlt bestimt irgendwo ein ; oder $ oder sonstwas…

Danke

Verfasst: 23. Sep 2008, 09:31
von ralf.schlott
Achso... ich hatte es lokal getestet mit dem Redaxwinstaller...

nur zur info

Verfasst: 24. Sep 2008, 14:47
von nitzer
die seite bleibt ohne inhalt im backend und dann natürlich auch im frontend.

Verfasst: 24. Sep 2008, 15:23
von Thomas.Blum
Hej,

eine Anmerkung zur Verwendung von rexname.

Da die einzelnen Wertze mit einer Doppeltilde in einem Value-Feld gespeichert wird, werden Suchergebnisse nach dem Wort "Schiffsbau", um beim obigen Screen zu bleiben, so ausgegeben:
Frankreich~~<b>Schiffsbau</b>~~Group Alema
Das ist ein Nachteil der beim Verwenden der rexnames auftritt.

vg Thomas

Re: nur zur info

Verfasst: 24. Sep 2008, 16:21
von ralf.schlott
nitzer hat geschrieben:die seite bleibt ohne inhalt im backend und dann natürlich auch im frontend.
das hatte ich auch so beschrieben. Aber es muss ja beim Urheber funktionieren, sonst könnte er ja keine seite damit erstellen...

Verfasst: 26. Sep 2008, 11:35
von Hirbod
Ich verstehe es leider nicht, warum es bei euch nicht funktioniert. Hab es auf 2 verschiedenen Servern und 3-4 verschiedenen Seiten im Einsatz, es funktioniert auf anhieb korrekt.

Komisch....

Verfasst: 3. Okt 2008, 15:23
von vscope
super idee das teil :)
sowas hat redaxo meiner meinung nach schon lange gefehlt.

thx

Verfasst: 7. Okt 2008, 09:20
von Manuel.Schmöllerl
Ich kenne solche Tabellenmodule von Typo3, und es stimmt, ich habe es bei Redaxo auch vermisst, danke. :D

Beste Grüße
Manuel

nur PHP-Code als Text

Verfasst: 8. Okt 2008, 15:41
von hrunggaldier
Hab das Modul eingebaut (nach Anleitung und richtige Version REX 4.1) aber bei mir wird der PHP-Code nicht interpretiert sondern als Text dargestellt was ist das, was mach ich falsch oder was fehlt mir???

Ist mir bei anderen auch schon passiert "do pic" usw. (PHP Version 5.2.5, Apache 2.0)

Hier noch ein Bild:
[ externes Bild ]

Verfasst: 8. Okt 2008, 19:49
von Manuel.Schmöllerl
Es sieht so aus, als wäre alles im output. Du mußt den Code dort einfügen (copy/paste), wie er zum Download bereit steht.
Eingabe -> Eingabe
Ausgabe -> Ausgabe

Beste Grüße
Manuel Schmöllerl

Leider

Verfasst: 9. Okt 2008, 08:30
von hrunggaldier
Hallo! Leider - muß ich Dich und mich enttäuschen!
Also die Eingabe bzw. Ausgabe und rexname (auch angefügt) ist richtig.
Trotzdem wird der Code/Modul im Back- und Frontend als "normaler Text" ausgegeben. Es scheint als wäre der Code als Kommentar deklariert - ist er aber nicht! Andere Module funktionieren einwandfrei. Hab keine Idee!?

LG Heimo

Verfasst: 9. Okt 2008, 11:51
von ralf.schlott
Vielleicht hast du den Text in irgendeinem Texteditor eingefügt gehabt wo sich Formatierungen mit eingeschlichen haben?
Jedenfalls wäre es interessant zu wissen, ob das Modul bei anderen läuft, denn bei mir geht es einfach nicht.

Gruss
Ralf

Verfasst: 10. Okt 2008, 05:51
von wgmx
Hallo,
ich habe es aufgrund der Anfragen heute mal probiert, es funktioniert schon beim ersten Versuch problemlos.
Gruß aus Mx
Wieland

Verfasst: 10. Okt 2008, 10:35
von ralf.schlott
Ich habe noch einmal nachgedacht, warum es nicht funktionieren könnte.
Da ich die Meldung
Parse error: parse error, unexpected T_SL
bekomme, stellt sich die Frage: Ist vielleicht die PHP Version entscheidend?
Welche Versionen habt ihr? Ich bin noch bei der 4er.

Gruss
Ralf

Verfasst: 10. Okt 2008, 15:57
von wgmx
Hallo Ralf,

bei ist es PHP 5.2.6, ich weiß aber nicht, ob es daran liegt.

Gruß aus Mx
Wieland

Verfasst: 13. Okt 2008, 16:33
von ralf.schlott
wgmx hat geschrieben:Hallo Ralf,

bei ist es PHP 5.2.6, ich weiß aber nicht, ob es daran liegt.

Gruß aus Mx
Wieland
Jo, vielen Dank. Hatte jetzt die Möglichkeit auf PHP 5 zu testen. Gleiches Problem:
Parse error: syntax error, unexpected T_SL in pfad.../redaxo/include/classes/class.rex_article.inc.php(596) : eval()'d code on line 123
Echt enttäuschend. Hätte gern gesehen, wie das Modul funktioniert. Falls jemand gewillt ist, mir mehr Tipps zu geben, was ich falsch machen könnte, freue ich mich.

Gruss
Ralf

Verfasst: 13. Okt 2008, 19:49
von wgmx
Wenn Du mir per pm die Admin-Zugangsdaten schickst, gucke ich mal rein, ob ich einen Fehler finde.
Gruß aus Mx
Wieland

Verfasst: 27. Nov 2008, 16:02
von gupi
Hallo,
gibst einen neuen Stand zu der Parser - Fehler?
Ich habe den gleichen Fehler bei mir.
Der Fehler tritt offensichtlich beim einlesen der Java -funktionen in die Variable $script auf.
Kann hier das Problem liegen?

Gruß Gunter