Was ganz einfaches ..... CMS_HTML

Gesperrt
peanut
Beiträge: 247
Registriert: Do 25. Nov 2004, 19:34
Kontaktdaten:

Was ganz einfaches ..... CMS_HTML

Beitrag von peanut »

Hallo zusammen

ich muss irgendwie in dem CMS_HTML Feld einen statischen Text mit reinbauen ( mit Sprachen )

Zweck ist für den Kunden das er nicht immer als BSP: Preis: 100 Euro angeben muss sondern nur noch 100 Euro und der Preis dann auf english autom. übersetzt wird preis - price

Kann mir da jemand einen kurzen Schubs geben ?

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Text HTML
* Author(s)   :     Andreas Lindner
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     05.08.2005
************************************************/

echo "<p>"."CMS_HTML[1]"."</p>";
?>



Danke 
Gruss
Peanut
PS: Ja ich habe zuerst die Boardsuche verwendet, aber sowas einfaches gibt es wohl nicht  :)




du liest nie ein Buch und weisst weise der Bildung auszuweichen ....
i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von i-fekt »

Versuch mal folgendes:

Code: Alles auswählen

<?php
if( $lang=="1" ) {
  echo "<p>Preis: CMS_HTML[1]</p>";
} else {
  echo "<p>Price: CMS_HTML[1]</p>";
}
?>
Dabei steht die 1 für die ID der deutschen Sprache, die else für die andere. Wenn du mehr hast einfach ein elseif einbauen.

Ungetestet, bin nicht sicher, ob der Wert auf $lang vorhanden ist.
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Wie wäre es mit der Contenido-eigenen Übersetzung?

Code: Alles auswählen

<?php 
echo "<p>".mi18n("Price:")." CMS_HTML[1]</p>"; 
?>
Und dann im Modul die Übersetzung einpflegen.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
peanut
Beiträge: 247
Registriert: Do 25. Nov 2004, 19:34
Kontaktdaten:

Beitrag von peanut »

Hallo HerrB

soweit so gut. Nun habe ich noch eine weiterführende Frage im Bezug auf das Modul

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Text HTML
* Author(s)   :     Andreas Lindner
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     05.08.2005
************************************************/

echo '<p class="db_liste_top">'.mi18n("Price: €").'&nbsp;'."CMS_HTML[2]".'</p>';

?>

Und zwar sieht das nun so aus bei mehreren Feldern:

Preis: € 100.-
Referenz: XXXccc
Ort: Stuttgart


Frage: Wie bekomme ich das nun hin das es so aussieht ( übersichtlich ) ohne extra Felder anzulegen und mühsam alles über CSS dann anzupassen ? Und einfach Leerschritte sind auch nicht drin wegen der Artikelliste.

Preis:______€ 100.-
Referenz:__ XXXccc
Ort:_______Stuttgart


Danke für einen kleinen Denkanstoss
Gruss
Peanut
du liest nie ein Buch und weisst weise der Bildung auszuweichen ....
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Na, Du baust außen rum eine Tabelle (so mit <table>, <td> usw.). Genau dafür sind nach wie vor Tabellen gedacht und zulässig...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
peanut
Beiträge: 247
Registriert: Do 25. Nov 2004, 19:34
Kontaktdaten:

Beitrag von peanut »

Hallo HerrB

danke für den Tipp aber ich alte Lusche bekomms mal wieder nicht hin ...... und meinen Code poste ich hier lieber nicht sonst werde ich wieder ausgebuht hehehe

Könntest Du eben ein Grundgerüst hier der C-Gemeinde hinsetzten ?

Tausend und einen Dank
Gruss
Peanut
du liest nie ein Buch und weisst weise der Bildung auszuweichen ....
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Jetzt habe ich das Problem verstanden (ich war nahe dran, etwas in Richtung "Selfhtml" zu schreiben).

Das ist in der Tat nicht ganz einfach, da Du im Moment offensichtlich für jede Zeile ein Modul definiert hast.

Wenn Du es so lassen musst, bliebe nur das Artikellisten Modul Advanced, wobei die Ausgabe dann von CSS in Tabelle angepasst werden müsste.

Alternativ fällt mir nur ein, ein Modul zu gestalten (statt 3):

Code: Alles auswählen

echo '<p class="db_liste_top"><table>'."\n";
echo '   <tr>'."\n";
echo '      <td>'.mi18n("Price: €").'</td>'."\n";
echo '      <td>'."CMS_HTML[2]".'</td>."\n"';
echo '   </tr>'."\n";
echo '   <tr>'."\n";
echo '      <td>'.mi18n("Referenz:").'</td>'."\n";
echo '      <td>'."CMS_HTML[3]".'</td>."\n"';
echo '   </tr>'."\n";
echo '   <tr>'."\n";
echo '      <td>'.mi18n("Ort:").'</td>'."\n";
echo '      <td>'."CMS_HTML[4]".'</td>."\n"';
echo '   </tr>'."\n";
echo '</table></p>';
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Maribeauli

Beitrag von Maribeauli »

HerrB hat geschrieben: Alternativ fällt mir nur ein, ein Modul zu gestalten (statt 3):

Code: Alles auswählen

echo '<p class="db_liste_top"><table>'."\n";
echo '   <tr>'."\n";
echo '      <td>'.mi18n("Price: €").'</td>'."\n";
echo '      <td>'."CMS_HTML[2]".'</td>."\n"';
echo '   </tr>'."\n";
echo '   <tr>'."\n";
echo '      <td>'.mi18n("Referenz:").'</td>'."\n";
echo '      <td>'."CMS_HTML[3]".'</td>."\n"';
echo '   </tr>'."\n";
echo '   <tr>'."\n";
echo '      <td>'.mi18n("Ort:").'</td>'."\n";
echo '      <td>'."CMS_HTML[4]".'</td>."\n"';
echo '   </tr>'."\n";
echo '</table></p>';
Gruß
HerrB
HerrB,
nun gibt mir bitte auch mal "Nachhilfe" und sage mir wo oder was ich falsch verstanden habe.

Ich hätte die Ausgabe über ein Layout gelöst in der Art:

Code: Alles auswählen

<table>
<tr><td>Preis:</td><td width="x"></td><td> CONTAINER-Syntax für Output Modul 1</td></tr>
<tr><td>Referenz:</td><td width="x"></td><td> CONTAINER-Syntax für Output Modul 2</td></tr>
<tr><td>Ort:</td><td width="x"></td><td> CONTAINER-Syntax für Output Modul 3</td></tr>
</table>
Erreiche ich damit nicht das gleiche?

PS: Nur am Rande, die Syntax mit deiner Tabelle ist nicht valid, table darf nicht zwischen p stehen :wink:
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

PS: Nur am Rande, die Syntax mit deiner Tabelle ist nicht valid, table darf nicht zwischen p stehen
Danke. Ich wollte nur das p nicht unberücksichtigt lassen. Murx...
Ich hätte die Ausgabe über ein Layout gelöst in der Art:
Gefordert war die Mehrsprachigkeit der Beschriftung. Dies ist (elegant) über die Modul-Übersetzung via mi18n möglich.

Wenn man es ganz hart macht, könnte man ein Layout mit (hier) 6 Containern verwenden und jeweils über ein Modul Beschriftung und Text festlegen. Das ist aber sehr aufwendig, eine Verschwendung von Ressourcen und wenn man später mal was ändern will... Auch wäre die Beschriftung für jeden Artikel erneut einzutragen. Außerdem sollte man ein Layout nach Möglichkeit später nicht anfassen müssen (deswegen ist es z.B. auch eine gute Idee, Container in 10er-Schritten mit IDs zu belegen, damit später noch Felder dazwischen setzen kann).

Die Ideal-Form des Moduls dürfte aber sicherlich eine Trennung von Code und (Modul-)Template sein - d.h. wie z.B. beim Hauptnavigationsmodul gibt es ein Template mit Platzhaltern:

Code: Alles auswählen

<table> 
<!-- BEGIN:BLOCK -->
<tr><td>{ITEM}</td><td>{VALUE}</td></tr> 
<!-- END:BLOCK -->
</table>
welches ich dann im Modul zeilenweise fülle:

Code: Alles auswählen

cInclude('classes', 'class.template.php');

$tpl = new Template;

$tpl->set('d', 'ITEM',  mi18n("Price: &euro;"));
$tpl->set('d', 'VALUE',  "CMS_HTML[2]");
$tpl->next();

$tpl->set('d', 'ITEM',  mi18n("Reference:"));
$tpl->set('d', 'VALUE',  "CMS_HTML[3]");
$tpl->next();

$tpl->set('d', 'ITEM',  mi18n("Location:"));
$tpl->set('d', 'VALUE',  "CMS_HTML[4]");
$tpl->next();

$tpl->generate('templates/<Name des Templates>.html');
<Name des Templates>.html muss mit der Bezeichnug aus Style->HTML Editor übereinstimmen. Man beachte die 'd'-Option beim set (ermöglicht Blockwiederholungen).

Abstände und anderes würde ich dann über CSS definieren (ggf. halt im (Modul-)Template noch eine Klasse für table, tr bzw. td ergänzen).

Gruß
HerrB
Zuletzt geändert von HerrB am Mi 12. Apr 2006, 16:38, insgesamt 1-mal geändert.
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Maribeauli

Beitrag von Maribeauli »

@HerrB,

ja, verstanden, danke für die ausführliche Erklärung.
peanut
Beiträge: 247
Registriert: Do 25. Nov 2004, 19:34
Kontaktdaten:

Beitrag von peanut »

Hallo HerrB

gleich mal testen ob das so geht wie mein Kunde es braucht

Danke fürs kurze reindenken

Gruss
Peanut
du liest nie ein Buch und weisst weise der Bildung auszuweichen ....
Gesperrt