Content-Typen Wert zuweisen

Gesperrt
matze
Beiträge: 106
Registriert: Mi 17. Dez 2003, 00:17
Wohnort: L.E.
Kontaktdaten:

Content-Typen Wert zuweisen

Beitrag von matze »

ich möchte einem content-typ (CMS_HEAD[1]) einen wert (CMS_VALUE[1]) aus dem input zuweisen.
wie macht man dass am schlausten?

so hat es nicht funktioniert:

Code: Alles auswählen

echo "<input type=\"hidden\" name=\"CMS_HEAD[1]\" value=\"CMS_VALUE[1]\">";
den wert benötige ich überhaupt nicht zum output sondern nur als interne variable.

ich hoffe dass ist irgendwie möglich, (???)
matze
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

was möchtest den machen ?
matze
Beiträge: 106
Registriert: Mi 17. Dez 2003, 00:17
Wohnort: L.E.
Kontaktdaten:

Beitrag von matze »

das ist nicht ganz einfach zu erklären. aber ich versuch's mal.


kurze version:
kurz: ich brauche steuerbare teaser


lange version:
situation:
ich habe eine kategorie mit verschiedenen artikeln. diese artikel werden in der start-seite geteasert. dort erscheinen von jeden artikel von jedem artikel die conent-typen CMS_IMG[1], CMS_IMGDESCR[1], CMS_HTML[1].

ziel:
nun wird von mir gefordert eine checkbox zu generieren, mit der man den jeweiligen teaser in der start-seite ein- und ausblenden kann.

nun hab ich mir gedacht, ich nutze den content-typ CMS_HEAD[1], um ihn mit dem checkbox-status (0 oder 1) zu füllen. aber diese content-typen kann man anscheinend nur im editormodus und nicht in der konfiguration füllen!?

???,
matze
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

nun hab ich mir gedacht, ich nutze den content-typ CMS_HEAD[1], um ihn mit dem checkbox-status (0 oder 1) zu füllen. aber diese content-typen kann man anscheinend nur im editormodus und nicht in der konfiguration füllen!?
in der konfiguration steht dir nur CMS_VAR und CMS_VALUE zur verfügung...
im edit -> CMS_VALUE und die restlichen con_type typen...
matze
Beiträge: 106
Registriert: Mi 17. Dez 2003, 00:17
Wohnort: L.E.
Kontaktdaten:

Beitrag von matze »

mhhh,
also gibt es keine methode CMS_HEAD[1] mit CMS_VALUE[1] zu füllen?
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

also momentan keine die ich wüsste... so wie du das machen willst...

sieh dir das mal an...
http://www.contenido.de/forum/viewtopic.php?t=2087

vielleicht ist da was brauchbares für dich dabei..
PickPay
Beiträge: 164
Registriert: Di 2. Dez 2003, 19:38
Wohnort: Zürich
Kontaktdaten:

Beitrag von PickPay »

Wenn die Artikel in der Kategorie NUR auf der Startseite verwendet werden, könntest du sie einfach auch Offline setzen.

Ich habe eine Ähnliche Aufgabenstellung allerdings so gelöst, dass im Editiermodus Zusätzliche Felder mit jeweils einem CMS_HEAD[x] erscheinen, also etwa so:

Code: Alles auswählen

<?
 if ($edit) {
?>
<p>
<table width="100%" border="0" cellspacing="0" cellpadding="1">
 <tr> 
  <td bgcolor="#FF6F6F"> 
   <table width="100%" border="0" cellspacing="1" cellpadding="5">
    <tr bgcolor="#FFC4C4"> 
     <td colspan="4"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Konfiguration 
      des Artikels (1=AN, 0=AUS)</font></strong></td>
    </tr>
    <tr bgcolor="#FF9999"> 
     <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Option 1</font></td>
     <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?PHP echo "CMS_HEAD[6001]"; ?></font></td>
     <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Option 2</font></td>
     <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?PHP echo "CMS_HEAD[6002]"; ?></font></td>
    </tr>
    <tr bgcolor="#FF9999"> 
     <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Option 3</font></td>
     <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?PHP echo "CMS_HEAD[6003]"; ?></font></td>
     <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Option 4</font></td>
     <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?PHP echo "CMS_HEAD[6004]"; ?></font></td>
    </tr>
   </table>
  </td>
 </tr>
</table>
</p>
<? 
 }
?>
Das ganze wird einfach als Modul gespeichert und jeweils in der Template am entsprechenden Ort zugewiesen.
matze
Beiträge: 106
Registriert: Mi 17. Dez 2003, 00:17
Wohnort: L.E.
Kontaktdaten:

Beitrag von matze »

ja, so werde ich es wahrscheinlich auch machen müssen.

eine checkbox in der konfiguration (oder auch im editor-modus) wäre nur eine bessere und sauberere lösung gewesen. denn nur so kann ich vermeiden, dass der redakteur etwas sinnloses einträgt.

danke an euch beide,
matze

ps
da fällt mir gerade was ein!
kann man nicht einen neuen content-typen (CMS_CHECKBOX) definieren?
oder ist das zu aufwendig?
PickPay
Beiträge: 164
Registriert: Di 2. Dez 2003, 19:38
Wohnort: Zürich
Kontaktdaten:

Beitrag von PickPay »

Nun, das liesse sich mit etwas JavaScript vermutlich schon machen, allerdings hatte ich bis jetzt noch keine Zeit, mich damit zu beschäftigen.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

kurze Antwort: man kann content-typen keinen Wert zuweisen.

Lösung: Die Tabelle con_content manuell beschreiben.
matze
Beiträge: 106
Registriert: Mi 17. Dez 2003, 00:17
Wohnort: L.E.
Kontaktdaten:

Beitrag von matze »

timo hat geschrieben: Lösung: Die Tabelle con_content manuell beschreiben.
habe ich gamacht!
nun habe ich aber wieder das problem, dass die "con_code"-tabelle aktualisiert werden muss!
(also "setcontent" ausgeführt werden muss)

:?: ,
matze

Code: Alles auswählen

// cms_head 0 schon vorhanden?
$sql = "SELECT value FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$idart' AND idtype='9' AND typeid='0'";
$db->query($sql);

$date   = date("Y-m-d H:i:s");
$author = $auth->auth["uname"];


if ($db->next_record())
{
    $sql = "UPDATE ".$cfg["tab"]["content"]." SET value = 'CMS_VALUE[1]', author='$author', lastmodified='$date' WHERE idartlang = '$idart' AND idtype='9' AND typeid='0'";
    $db->query($sql);

    $sql = "UPDATE " .$cfg["tab"]["art_lang"]." SET lastmodified='$date' WHERE idartlang='$idartlang'";
    $db->query($sql);
}
else
{

    $sql = "INSERT INTO ".$cfg["tab"]["content"]." (idcontent, idartlang, idtype, typeid, value, author, created, lastmodified) VALUES ('".$db->nextid($cfg["tab"]["content"])."', '".$idart."', '9', '0', 'CMS_VALUE[1]', '$author', '$date', '$date')";
    $db->query($sql);
}
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

nein, du mußt für den entsprechenden Artikel das Flag "createcode" auf 1 setzen, damit der Code beim nächsten mal neu generiert wird (siehe Tabelle con_cat_art, wenn ich mich nicht irre).
matze
Beiträge: 106
Registriert: Mi 17. Dez 2003, 00:17
Wohnort: L.E.
Kontaktdaten:

Beitrag von matze »

danke jetzt klappt's!!! :D
ich hab zudem den fehler gemacht und den obigen code in den output-bereich gestellt.

ciao,
matze
Gesperrt