Seite 1 von 1

Zweites Textfeld

Verfasst: Di 25. Nov 2014, 05:32
von caps-log
Hallo, in älteren Versionen war es ein Kinderspiel, mehrere voneinander unabhängige Textfelder auf einer Seite darzustellen.
Dafür musste man nur weitere Textmodule anlegen und die Variablen anpassen.
Spider IT hat geschrieben:Das Modul-Template muss nicht doppelt vorhanden sein, sondern das Modul.
Und wie Oliver schon deutlich vorgegeben hat, muss in der Kopie vom ersten Modul die CMS-Variable eine andere Nummer kriegen.
Im Originalmodul steht CMS_HTML[1], in der Kopie steht dann CMS_HTML[2].
Damit kann man beliebig viele Textmodule anlegen, die dann im Template eingebunden werden.
Übrigens, fürs Verständnis, die Nummer in Verbindung mit dem Variablentyp (CMS_HTML, CMS_HTMLHEAD, ...) zeigt auf dem Speicherplatz in der Datenbank, also bringt 2 x CMS_HTML[1] im gleichen Artikel auch den gleichen Text.

Gruß
René

Gibt es so eine Lösung auch für 4.9x und wie würde das funktionieren?

Vielen Dank vorab,
Torsten

Re: Zweites Textfeld

Verfasst: Di 25. Nov 2014, 13:14
von McHubi
"gepimptes" Text-Modul... Kann bis zu 10 Mal in einer Vorlage eingebunden werden :D

Modul-Input:

Code: Alles auswählen

?>
Textelement Nr.: <input size=2 type="text" name="CMS_VAR[10]" value="CMS_VALUE[10]"/>
<?php
Modul-Output:

Code: Alles auswählen

<?php

/**
 * description: standard text
 *
 * @package Module
 * @subpackage ContentText
 * @version SVN Revision $Rev:$
 *
 * @author marcus.gnass@4fb.de
 * @copyright four for business AG <www.4fb.de>
 * @license http://www.contenido.org/license/LIZENZ.txt
 * @link http://www.4fb.de
 * @link http://www.contenido.org
 */

// assert framework initialization
defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');

$number="CMS_VALUE[10]";
// get text from content type HTML with index 1 to ...
if($number==1) $text = "CMS_HTML[1]";
if($number==2) $text = "CMS_HTML[2]";
if($number==3) $text = "CMS_HTML[3]";
if($number==4) $text = "CMS_HTML[4]";
if($number==5) $text = "CMS_HTML[5]";
if($number==6) $text = "CMS_HTML[6]";
if($number==7) $text = "CMS_HTML[7]";
if($number==8) $text = "CMS_HTML[8]";
if($number==9) $text = "CMS_HTML[9]";
if($number==10) $text = "CMS_HTML[10]";

// When in backend edit mode add a label so the author
// knows what to type in the shown field.
if (cRegistry::isBackendEditMode()) {
    $label = mi18n("LABEL_TEXT").' '.$number;
} else {
    $label = NULL;
}

// use smarty template to output header text
$tpl = cSmartyFrontend::getInstance();
$tpl->assign('label', $label);
$tpl->assign('text', $text);
$tpl->display('get.tpl');
?>

Re: Zweites Textfeld

Verfasst: Mi 26. Nov 2014, 17:22
von rethus
Du suchst etwas einfaches,
Du suchst etwas unlimitiertes
Du möchtest nicht jedesmal den Modulcode neu anpassen, wenn du mal mehr Textfelder je Page brauchst

Du möchtest hier nachsehen: http://forum.contenido.org/viewtopic.ph ... t_#p162222

Re: Zweites Textfeld

Verfasst: Fr 28. Nov 2014, 15:09
von caps-log
Vielen Dank,
ich werd beides ausprobieren.
:-) Hat ja schnell geklappt!

Re: Zweites Textfeld

Verfasst: Fr 28. Nov 2014, 15:42
von caps-log
Hallo McHubi,
hab das modul probiert, leider gehts nicht. Wird im Editor nicht angezeigt...
Woran könnte das liegen?
Gruß, T.
McHubi hat geschrieben:"gepimptes" Text-Modul... Kann bis zu 10 Mal in einer Vorlage eingebunden werden :D
Habe folgende System Fehlermeldung:

[28-Nov-2014 15:45:14 Europe/Berlin] PHP Fatal error: Uncaught exception 'SmartyException' with message 'Unable to load template file '/var/www/vhosts/lalala.de/lalala.de/cms/data/modules/content_text-gepimpt/template/get.tpl'' in /var/www/vhosts/lalala.de/lalala.de/contenido/plugins/smarty/smarty_source/sysplugins/smarty_internal_templatebase.php:127
Stack trace:
#0 /var/www/vhosts/lalala.de/lalala.de/contenido/plugins/smarty/classes/class.smarty.wrapper.php(39): Smarty_Internal_TemplateBase->fetch('/var/www/vhosts...', NULL, NULL, NULL, true, true, false)
#1 /var/www/vhosts/lalala.de/lalala.de/contenido/plugins/smarty/smarty_source/sysplugins/smarty_internal_templatebase.php(374): cSmartyWrapper->fetch('get.tpl', NULL, NULL, NULL, true)
#2 /var/www/vhosts/lalala.de/lalala.de/contenido/plugins/smarty/classes/class.smarty.wrapper.php(59): Smarty_Internal_TemplateBase->display('get.tpl', NULL, NULL, NULL)
#3 /var/www/vhosts/lalala.de/lalala.de/contenido/includes/include.con_editco in /var/www/vhosts/lalala.de/lalala.de/contenido/plugins/smarty/smarty_source/sysplugins/smarty_internal_templatebase.php on line 127

Re: Zweites Textfeld

Verfasst: Mo 1. Dez 2014, 14:05
von McHubi
/content_text-gepimpt/template/get.tpl'
Schau mal in den Ordner des von Dir angelegten Moduls "content_text-gepimpt" oder ruf im Backend den Modulreiter "HTML" auf. Dort wird vermutlich keine Datei "get.tpl" existieren. Einfach vom Originalmodul rüberkopieren oder den Code des Originalmoduls wie oben geschrieben anpassen. :D