Modul Logo-Head

Gesperrt
racketeer
Beiträge: 36
Registriert: Do 6. Sep 2007, 09:00
Wohnort: Berlin
Kontaktdaten:

Modul Logo-Head

Beitrag von racketeer »

Nach langem beschäftige ich mich wieder ein mal mit Contenido, da meine PHP - Kenntnisse ein wenig gewachsen sind und ich mich grade in einem Praktikum befinde wo ich die Aufgabe habe die Webseite der Firma mal auf eine andere Plattform zu bringen(derzeit läuft die Seite noch unter Zope :-( ).
In den Unterschiedlichsten Kategorien (nur die erste Ebene unterhalb der Hauptkategorie) wird für die Kategorie ein eigenes Logo verlangt, dazu habe ich mir das Modul "Logo-Bottom" der version 4.8... ein wenig umgebastelt.

Wenn ich kein "Input" mache und im "Output" meinen Variablen feste Werte zuordne funkioniert auch alles wie gewollt, jedoch möchte ich die Werte über ein Input in der Templatekoniguration zuweisen, im Input klappt auch alles wie erwünscht, jedoch im Output kommt es zu keiner gewünschten Ausgabe, Ich denke ich habe das mit der Übergabe von "CMS_VALUE[x]" und "CMS_VAR[x]" noch nicht ganz verstanden. In der DB-Tabelle stehen die Werte aus aus dem Input konkret drin.

Hier erstmal das Modul:

Input.

Code: Alles auswählen

?><?php 
$cms_default_pictures = "CMS_VALUE[31]";
$cms_logo_verzeichnis = "CMS_VALUE[32]";

echo '<table>';
        
echo  
        '<tr>
          <td class="text_medium" style="padding:5px;">'.mi18n("Name des Default-Bildes").':</td>
          <td style="padding:5px;">
              <input type="text" name="CMS_VAR[31]" value="'.$cms_default_pictures.'">
          </td>
        </tr>';

echo '
        <tr>
          <td class="text_medium" style="padding:5px;">'.mi18n("Verzeichnis der Logos").':</td>
          <td style="padding:5px;">
              <input type="text" name="CMS_VAR[32]" value="'.$cms_logo_verzeichnis.'">
          </td>
        </tr>';

echo '</table>';
?><?php
und hier der Output

Code: Alles auswählen


<?php
/**
* $RCSfile$
*
* Description: Display Logo on bottom of page
*
* @version 1.0.0
* @author Rudi Bieller
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2008-04-07
* }}
*
* $Id$
*/

$bild = "CMS_VALUE[31]";
$verz = "CMS_VALUE[32]";


if (!isset($tpl) || !is_object($tpl)) {
    $tpl = new Template();
}
if ($sBread == "") $sBread = $bild;
$name = str_replace(' ','',$sBread);
$name = str_replace('&nbsp;','',$name);
$name = strtolower($name);
$name = str_replace('&uuml;','',$name);
$name = str_replace('&auml;','',$name);
$name = str_replace('&ouml;','',$name);
$name = str_replace('&Uuml;','',$name);
$name = str_replace('&Auml;','',$name);
$name = str_replace('&Ouml;','',$name);

$file = $verz.$name.".gif";
if (!file_exists($file)){$name = $bild;};
$tpl->reset();
$tpl->set('s', 'bild', "<img src=".$verz.$name.".gif>");

$tpl->generate('templates/logo_bottom.html');
?>
Die Variablen $bild und $Verzeichnis sind leer.

Weiterhin, habe ich das "Problem" : die Variable $sBread erhalte ich aus dem Modul "TITLE_TAG" und ist gleich jeder Kategorie leider auch der Unterkategorien, welche Variable oder welche Funktion müsste ich nehmen wenn ich nur den Namen der obersten Kategorie (nur erste Ebene unterhalb der Hauptkategorie oder Home) haben möchte?


Vielen Dank und Viele Grüße aus Berlin

Frank
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Modul Logo-Head

Beitrag von GaMbIt_ »

Wow... ZOPE ... sehr geiles Ding...
besonders die ZODB ... Objektrelationale Datenbank...

Zope ist aber eher ein Application Server als ein CMS.. trotzdem ... sehr geiles Ding.. hab mich vor Jahren mal mit dem Teilchen beschäftigt...

Aber nun zu Deinem Problem...

Wie Variablen gespeichert werden und wie sie dann auch wieder abgerufen werden kann man im Wiki nachlesen... wie ich sehe gibts aber noch keinen eigenen Artikel dafür...
http://www.contenido-wiki.org/wiki/inde ... ResizeHTML

Einfach gesagt...

Input:

Code: Alles auswählen

<input type="text" value="'."CMS_VALUE[1]".'" name="CMS_VAR[1]" size="5" />
Output:

Code: Alles auswählen

$foo = "CMS_VALUE[1]";
Eigentlich sollte das schon so funktionieren..
Kann aber in Deinem Code auf die Schnelle keinen Fehler finden...
Nützliche Contenido Infos gibts hier: Contenido Wiki
racketeer
Beiträge: 36
Registriert: Do 6. Sep 2007, 09:00
Wohnort: Berlin
Kontaktdaten:

Re: Modul Logo-Head

Beitrag von racketeer »

Ja Ja der Zope, das Teil läuft hier in der Version 1. ...gefühlte 7 Jahre ohne Neustart, dementsprechend langsam ist das ganze geworden. Und da es ja bekanntlich unter Phyton Programmiert wird und sich 1.) keiner damit auskennt und 2.) man ein CMS habe möchte.... und ich 3.) die Aufgabe habe da vorschläge zu machen... setz ich das ganze fürs erste man in Contenido um.
Es gibt ein CMS für Zope: PLONE.

Okay nun mal zu meinem Problem wo ich immer noch keine Lösung habe. die Variablen im Output sind irgendwie immer noch leer, im Input (bei der Templatekonfiguration werden sie angezeigt)

in der FAQ und im WIKI hatte ich schon gesucht, aber auch nichts gefunden... wäre vieleicht mal eine Idee da was zu schreiben :-)

gruße
Frank
-= never touch a running system =-
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Modul Logo-Head

Beitrag von GaMbIt_ »

Wie gesagt.. das sollte funktionieren...

probier doch mal in einem Testmodul mein hingekritzeltes Modul aus...
ein

Code: Alles auswählen

echo $foo;
muss dannnoch in den Output...
Nützliche Contenido Infos gibts hier: Contenido Wiki
racketeer
Beiträge: 36
Registriert: Do 6. Sep 2007, 09:00
Wohnort: Berlin
Kontaktdaten:

Re: Modul Logo-Head

Beitrag von racketeer »

habs getan... ein Testmodul mit Deinem In - und Output... aber "nothing-nichts-niente"

keine Ausgabe, in der DB und im Inputbereich werden die Eingetragenden Werte angezeigt, im Output leider nichts
-= never touch a running system =-
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Modul Logo-Head

Beitrag von Oldperl »

Hallo Frank,

generell sollte das mit euren Beispielen funktionieren. Welche 4.6er Version setzt du denn bei dir ein?

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
racketeer
Beiträge: 36
Registriert: Do 6. Sep 2007, 09:00
Wohnort: Berlin
Kontaktdaten:

Re: Modul Logo-Head

Beitrag von racketeer »

Ja, Hallo Ortwin

Ähm, es ist die Aktuelle 4.8er Version, habe es nur leider im falschen Thread geschrieben, habe es zu spät gesehen :?

Ich verstehs halt auch nicht warum keine Ausgabe erfolgt, habe den WIKI gelesen und die FAQ und es nochmal mit anderen Modulen verglichen.
Oder kann es eine an irgendwelchen Einstellungen liegen?
Das Contenido läuft unter einem Debian - Webserver.

Grüße
Frank
-= never touch a running system =-
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Modul Logo-Head

Beitrag von Oldperl »

Hallo Frank,

versuche doch mal ein Modul mit Inputbereich aus dem Demomandanten, wenn dort die Variablen im Output vorhanden sind, dann liegt es an deinem Modul.
Was du auch noch testen kannst, ob ein einfaches Wort oder eine Zahl übergeben wird, kein Pfad bzw. kein String mit Sonderzeichen. Könnte mir vorstellen das da noch irgendwo ein Filter ist.
Unter aktueller Version verstehst du die 4.8.12?

Thema verschoben nach Misc 4.8.x

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
racketeer
Beiträge: 36
Registriert: Do 6. Sep 2007, 09:00
Wohnort: Berlin
Kontaktdaten:

Re: Modul Logo-Head

Beitrag von racketeer »

Danke fürs verschieben :? , hat ne Weile gedauert bis ich mich selber wieder gefunden habe :D

Also ich habe das ganze mal in einem 4.6.15er Contenido probiert:

Input:

Code: Alles auswählen


?><?php
$test = "CMS_VALUE[0]";
echo '<input type="text" name="CMS_VAR[0]" value="'.$test.'">';

?><?php

Output:

Code: Alles auswählen


<?php

$test = 'CMS_VALUE[0]';
echo "-----------------------<br>";
echo 'CMS_VALUE[0]'."<br>";
echo $test."<br>";
echo "-----------------------";

?>
Die Ausgabe:

Code: Alles auswählen

<div class="middle_c">
-----------------------<br>$C53<br>$C53<br>-----------------------
</div>
Das witzige ist, das in der Spalte "nummer" der Tabelle "con_container_conf" die Nummer 53 drinsteht.
Setze ich CMS_VALUE[0] nicht in Hochkomma(') sondern in in Gänsefüsse (") gibt es gar keine Anzeige.

Grüße
Frank
-= never touch a running system =-
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Modul Logo-Head

Beitrag von Oldperl »

Hallo Frank,

also bei mir funktioniert das in der 4.8.12.
  • Modul In-/Output angelegt
  • Modul in Template eingebunden
  • Template einem Artikel zugewiesen
  • Im Artikel unter 'Konfiguration' das Modul konfiguriert
  • Ausgabe der Variablen im Frontend (einfach ein echo "CMS_VALUE[1]"; im Moduloutput)
  • Funktioniert!
Hast du evtl. dein Modul an einer falschen Stelle (vor-)konfiguriert (z.B. unter Templates und nicht im Artikel)?

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Modul Logo-Head

Beitrag von GaMbIt_ »

Versuch doch mal anstelle von

Code: Alles auswählen

    <?php

    $test = 'CMS_VALUE[0]';
    echo "-----------------------<br>";
    echo 'CMS_VALUE[0]'."<br>";
    echo $test."<br>";
    echo "-----------------------";

    ?>
bitte das hier

Code: Alles auswählen

    <?php

    $test = "CMS_VALUE[0]";
    echo "-----------------------<br>";
    echo "CMS_VALUE[0]"."<br>";
    echo $test."<br>";
    echo "-----------------------";

    ?>
Nützliche Contenido Infos gibts hier: Contenido Wiki
racketeer
Beiträge: 36
Registriert: Do 6. Sep 2007, 09:00
Wohnort: Berlin
Kontaktdaten:

Re: Modul Logo-Head

Beitrag von racketeer »

Hallo Ortwin,

Ich hatte die Artikel alle schon fertig, das Modul später geschrieben und unter Templates->Vorkonfiguration die Werte eingetragen. In der Konfiguration der Artikel standen den Quasi die Werte schon drin, wurden aber erst übernommen nachdem ich in der Artikelkonfiguration nochmals auf den grünen Haken geklickt hatte. Von alleine hat es nicht für alle Artikel übernommen.

Sprich, nachdem ich alle Artikel nochmal durchgeklickt hatte, funktioniert es, ich hatte eigentlich (meiner Meinung nach Berechtigt) gehofft das, wenn ich es in der Template->Vorkonfiguration eintrage wird es für alles übernommen, leider ist dem nicht so :-(.

Nun ja, erstmal haut es hin.

Mein 2.Problem, aus dem Demo-Modul "Title-Tag" erhalte ich eine Variable "$sBread" die mir den Kategorienamen gibt, (wie auch immer). Gibt es eine Variable die mir den Namen der obersten Kategorie gibt?

Ich versuche es mal zu erläutern:

Ich habe in der Hauptnavigation eine Kategorie "Angebote" nach meinem Modul wird nun ein Bild in den Header geladen das "angebote.gif" heisst.
In der Kategorie "Angebote" gibt es weitere Kategorien, w.z.B "Microsoft" oder "Cisco".
Mein Modul will nun, wenn ich mich unter Angebote/Microsoft befinde anhand der Variablen "$sBread" das Bild "microsoft.gif" laden und da es das nicht gibt lädt das modul das default-bild.
Aber ich möchte gerne das es bei Angebote bleibt (sprich die übergeornete Kategorie) und das Bild "angebote.gif" lädt, dazu brauch ich die Variable der Kategorie der ersten Ebenen in der Hauptkategorie.
Wie komm ich da ran?

Grüße aus Berlin und vielen Dank für Eure Hilfe bis hierher.

Frank
-= never touch a running system =-
idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Modul Logo-Head

Beitrag von idea-tec »

VORkonfiguration -> nicht NACH-/REALTIMEkonfiguration
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
Gesperrt