Smarty und Checkbox im Modul-Input

Alles rund um Module und Plugins in CONTENIDO 4.9.
Antworten
Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Smarty und Checkbox im Modul-Input

Beitrag von Horst1234 » Mo 6. Mär 2017, 11:54

Liebes Forum,
ich würde gerne in einem Modul im Input zwei Checkboxen integrieren, und via Output dann im Template in einer if-Abfrage aulesen lassen, ob diese jeweils checked wurden.
Welchen Code muss ich hierfür in input, output und smarty-template einfügen? Welche Variablen dabei festlegen/auslesen etc.?
Vielen Dank schon ml im Voraus,
Gruß aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Smarty und Checkbox im Modul-Input

Beitrag von homtata » Mo 6. Mär 2017, 12:26

Da gibts schon verschiedene Module, wo man das abschauen kann...
Ungefähr so für den Input:

Code: Alles auswählen

?><?php

// Start der Output-Ausgabe
$db = cRegistry::getDb();
$cfg = cRegistry::getConfig();
$client = cRegistry::getClientId();
$cfgClient = cRegistry::getClientConfig();

// construct the HTML table
$filltable = array();
$table = new cHTMLTable();

//first row with calendar dropdown options
$fillrow = array();
$tr = new cHTMLTableRow();
$td = new cHTMLTableData();
$td->setContent(mi18n("label1"));
$fillrow[] = $td;
$td = new cHTMLTableData();
$checkbox = new cHTMLCheckbox("CMS_VAR[1]", "yes");
$checkbox->setLabelText("" );
$checkbox->setChecked( "CMS_VALUE[1]" );
$td->setContent($checkbox);
$fillrow[] = $td;
$tr->setContent($fillrow);
$filltable[] = $tr;

$fillrow = array();
$tr = new cHTMLTableRow();
$td = new cHTMLTableData();
$td->setContent(mi18n("label2"));
$fillrow[] = $td;
$td = new cHTMLTableData();
$checkbox = new cHTMLCheckbox("CMS_VAR[2]", "yes");
$checkbox->setLabelText("" );
$checkbox->setChecked( "CMS_VALUE[2]" );
$td->setContent($checkbox);
$fillrow[] = $td;
$tr->setContent($fillrow);
$filltable[] = $tr;


$table->setContent($filltable);

$fieldset = new cHTMLFieldset();
$fieldset->appendContent($table);
echo $fieldset->render();

?><?php
und im Output kannst du dann abfragen

Code: Alles auswählen

$checkbox1      = ( "CMS_VALUE[1]" == "yes" ) ? true : false ;  // Dropdown-Feld aktiv
und dann ist das im Smarty

Code: Alles auswählen

{if $checkbox1}...{/if}

Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: Smarty und Checkbox im Modul-Input

Beitrag von Horst1234 » Mo 6. Mär 2017, 15:16

Hallo Homtata,
Super, klappt perfekt,
Mercí,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de

Antworten