Template modifizieren

Diskussion zum Modul Guestbook für ConPresso 4
Antworten
Gandalf
ConPresso-Checker
Beiträge: 108
Registriert: 01.01.1970 01:00
Hat sich bedankt: 6 Mal
Danksagung erhalten: 5 Mal

Template modifizieren

Beitrag von Gandalf »

Hallo,

ich passe gerade das Template an. U. a. habe ich z.B. in der Artikelseite anstelle von:

Code: Alles auswählen

<!-- ifSet: link2comment; -->Eintrag: "<!-- Value: articlenr -->" kommentieren<!-- /ifSet -->
<!-- ifSet: link2edit; -->Eintrag: "<!-- Value: articlenr -->" bearbeiten<!-- /ifSet -->
diesen Code eingegeben:

Code: Alles auswählen

<!-- ifSet: link2comment; -->Eintrag: "<!-- Value: Title -->" kommentieren<!-- /ifSet -->
<!-- ifSet: link2edit; -->Eintrag: "<!-- Value: Title -->" bearbeiten<!-- /ifSet -->
Da die Überschrift: Eintrag "Tolle HP" editieren mehr aussagt als Eintrag "81" editieren.

Leider klappt die Anzeige aber nur beim Editieren und nicht beim Kommentieren, da die Variable Titel geleert wird. Ich blende aber das
Feld (Titel) beim kommentieren aus.

Frage nun: In welcher Source muss ich eine Änderung vornehmen, damit mit mir auch, und gerade da, beim Kommentieren der Titel des Gästebucheintrages angezeigt wird?

Wo wir gerade dabei sind: Ich habe das Feld "Titel" umbenannt in "Betreff", demnach soll auch bei leerem Inhalt die korrekte Meldung erscheinen: "Bitte was in das Feld Betreff eintragen". Es erscheint noch "Bitte was in das Feld Titel eintragen". Auch hier suche ich mir den Wolf in den Sourcen, kleiner Tipp wäre nett.

Gruß Gandalf
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Re: Template modifizieren

Beitrag von Matthias V »

Gandalf hat geschrieben:Leider klappt die Anzeige aber nur beim Editieren und nicht beim Kommentieren, da die Variable Titel geleert wird. Ich blende aber das Feld (Titel) beim kommentieren aus.
Ich hatte das mit der Nummer vor allem zu Kontrollzwecken eingefügt und habe mir dann nicht mehr viel dabei gedacht. Aber du hast recht, der Titel würde da echt Sinn machen.

Suche mal in mod_guestbook/_include/guestbook.inc.php:

Code: Alles auswählen

            $hidden_action = 'comment';
            $db_nr = $_REQUEST['nr'];
und füge danach ein:

Code: Alles auswählen

            //Daten aus DB holen
            $db = new DB;
            $query = "SELECT rubric_id, commentary, verfallsdatum, idx, "
                ."email, autor, pub_datum, titel, initial, freigabe, changer, c_time "
                ."FROM ".CPO_NEWS." WHERE nr = '".$db_nr."' ";
            DEBUG(1, $query, __FILE__, __LINE__);
            $db->query($query);
            $db->next_record();
            
            //Wenn Artikel nicht vorhanden
            if ($db->num_rows()<=0) {
                $views = array('index');
                break;
            }

            $db_idx           = $db->v('idx');
            $db_email         = $db->v('email');
            $db_autor         = $db->v('autor');
            $db_changer       = $db->v('changer');
            $db_c_time        = $db->v('c_time');
            $db_verfallsdatum = $db->v('verfallsdatum');
            $db_commentary    = $db->v('commentary');
            $db_titel         = $db->v('titel');
            $db_initial       = $db->v('initial');
            $db_freigabe      = $db->v('freigabe');
            $db_rubric_id     = $db->v('rubric_id');
            
            if (count(explode('#', $db_titel))>=2) {
                $db_titel = substr($db_titel, strpos($db_titel, '#')+1);            
            }
            
            //$data['email']         = $db_email;
            //$data['autor']         = $db_autor;
            //$data['titel']         = $db_titel;
Das Problem dabei ist nur, dass dadurch sämtliche Daten aus der Tabelle CPO_NEWS in das Formular eingetragen werden. D.h. es stehen Daten des zu kommentierenden Artikels drin.
Edit:
Blödsinn, ich hatte da in den oben stehenden Code noch etwas drinn stehen, was da keinen Sinn hat. Dies ist jetzt auskommentiert. Es wird jetzt nichts ins Formular eingetragen.

Du kanns ja einige Zeilen auskommentieren bzw. löschen, damit nur der Titel ausgegeben wird. Das ist eben die vollständige Variante der Abfrage der Daten aus der Tabelle CPO_NEWS.


Und wenn das Kommentar gesendet wurde und noch Felder im Formular leer sind, gibt es $db_titel dann wieder nicht. Dazu müsstes du dann den Code von oben inklusive $db_nr = $_REQUEST['nr']; noch nach der folgenden Zeile einfügen:

Code: Alles auswählen

if(!empty($_REQUEST['nr']) && $_REQUEST['hidden_action']=='comment') {
Villeicht denke ich mir ja noch eine bessere Möglichkeit für die nächste Gästebuch-Version aus. Aber danke für die Anregung. Kannst ja deine weiteren Erfahrungen mit diesen Modifikationen später mal posten.
Gandalf hat geschrieben:Wo wir gerade dabei sind: Ich habe das Feld "Titel" umbenannt in "Betreff", demnach soll auch bei leerem Inhalt die korrekte Meldung erscheinen: "Bitte was in das Feld Betreff eintragen". Es erscheint noch "Bitte was in das Feld Titel eintragen". Auch hier suche ich mir den Wolf in den Sourcen, kleiner Tipp wäre nett.
Suche in mod_guestbook/_include/guestbook.inc.php:

Code: Alles auswählen

if (empty($value) && in_array($key, $require)) {
Füge danach ein:

Code: Alles auswählen

                    if (strtolower($key)=='titel') {
                        $key='Betreff';
                    }
Mal sehen, ob ich sowas ähnliches wie du dir gewünscht hast in eine nächste Version des Gästebuchs einfüge. Den Titel auch bei Kommentaren zugänglich zu machen ist Sinnvoll.

Und ich könnte in die Moduleinstellungen ein Feld einfügen, wo man Aliase von den Eingabefeldern aus der Tabelle CPO_NEWS eintragen kann.
Dadurch werden dann eben die Felder "Author", "Titel", "Email" und andere bei der Meldung eine andere Bezeichnung erhalten.

Danke für die Anregungen.

Gruß Matthias V

P.S.
Weiter unten habe ich eine bearbeitete guestbook.inc.php angehängt, die alles korrekt erledigt.
Zuletzt geändert von Matthias V am 25.07.2006 23:14, insgesamt 3-mal geändert.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Huch... so viel...?

Ich habe da folgende 3 Zeilen für benutzt:

in parser_c_guestbook.inc.php

Code: Alles auswählen

global $key, $_type, $_name, $fetchedcontent, $db_nr,
/*$db_content,*/ $content, $translator,
ändern in

Code: Alles auswählen

global $key, $_type, $_name, $fetchedcontent, $db_nr, $db_titel,
/*$db_content,*/ $content, $translator,
dann (Zeile 100)

Code: Alles auswählen

        'url'       =>'detail.php?nr='.rawurlencode($db_nr)
        .'&rubric='.rawurlencode($cpoRubric['name']).'&action=comment',
ändern in

Code: Alles auswählen

      'url' =>'detail.php?nr='.rawurlencode($db_nr).'&title='.rawurlencode($db_titel)
      .'&rubric='.rawurlencode($cpoRubric['name']).'&action=comment',
dann nur noch in guestbook.inc.php
nach Zeile 102

Code: Alles auswählen

            $db_nr = $_REQUEST['nr'];
folgende Zeile einfügen

Code: Alles auswählen

            $db_titel = $_REQUEST['title'];
Allerdings wird der Titel bei fehlerhaften Angaben nicht wieder abgebildet... dafür müßte noch ein hidden-field ins Formular...

Edit (Matthas V): Ich habe die Code-Zeilen mal etwas gekürzt bzw. Zeilenumbrüche eingefügt, damit das Forum nicht endlos breit wird.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Danke Markus,

das wäre auch eine Möglichkeit, da spart man sich ne menge Code und eine Datenbankabfrage.
Allerdings gibt es auch da das Problem, dass beim Kommentieren der Titel im input-Feld schon ausgefüllt wird, oder?
Dafür würde ich es dann nicht mehr $db_titel, sonder $db_commented_titel nennen.

Ich muss das alles nochmal genau testen und werde es wahrscheinlich ähnlich einbauen.

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Matthias V hat geschrieben:Allerdings gibt es auch da das Problem, dass beim Kommentieren der Titel im input-Feld schon ausgefüllt wird, oder?
Nö... :wink:
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Hallo Gandalf und MarkusR,

ich habe jetzt die Anzeige des Titels vollständig in die _include/guestbook.inc.php eingebaut. Eine bearbeitung der _include/parser_c_guestbook.inc.php ist nicht nötig.
Ich habe es über eine Datenbankabfrage geregelt, weil sowieso beim "edit"-ieren und "fastedit"-ieren Datenbankabfragen stehen und ich daher konsequent und übersichtlich programmieren möchte.

Die Datei kann man sich in diesem Posting runterladen. Sie ist für das Gästebuch in der Version 4.0.5a

Nun kann man auch im Template innerhalb von <!--ifSet: fastedit; --> den Artikeltitel ausgeben. Also nicht nur bei "link2edit" und "link2comment".

@Gandalf:
den Alias für "Titel" musst du trotzdem wieder setzen. Dies werde ich erst in die nächste Gästebuchversion komplett einbauen:
Suche in mod_guestbook/_include/guestbook.inc.php (Zeile 211):

Code: Alles auswählen

                 if (empty($value) && in_array($key, $require)) {
Füge danach ein:

Code: Alles auswählen

                    if (strtolower($key)=='titel') {
                        $key='Betreff';
                    }
MarkusR hat geschrieben:
Matthias V hat geschrieben:Allerdings gibt es auch da das Problem, dass beim Kommentieren der Titel im input-Feld schon ausgefüllt wird, oder?
Nö... :wink:
Das war Blödsinn, da hatte ich im oben stehenden Code noch nicht benötigte Zeilen drinn.

Gruß Matthias V

P.S. Datei entferrnt wegen neuen Gästebuch-Versionen
Zuletzt geändert von Matthias V am 12.06.2007 22:31, insgesamt 1-mal geändert.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Gandalf
ConPresso-Checker
Beiträge: 108
Registriert: 01.01.1970 01:00
Hat sich bedankt: 6 Mal
Danksagung erhalten: 5 Mal

Beitrag von Gandalf »

Hallo Matthias, hallo Markus,

Hut ab vor so viel Engagement. Ich würde dann gerne die geänderte guestbook.inc.php testen, finde abere keinen Dateianhang in den Postings...

Evtl. vergessen, war ja schon spät gestern?

Gruß Gandalf
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Gandalf hat geschrieben:...finde abere keinen Dateianhang in den Postings...
Evtl. vergessen, war ja schon spät gestern?
Hast du dich zum lesen des Postings nicht eingeloggt?
Anhänge sieht man nur, wenn man eingeloggt ist.

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Gandalf
ConPresso-Checker
Beiträge: 108
Registriert: 01.01.1970 01:00
Hat sich bedankt: 6 Mal
Danksagung erhalten: 5 Mal

Beitrag von Gandalf »

uupps, sorry hast recht, danke.

Habe u. a. auch das phpbb2 Forum mit dem Attachmentmod von Acid Burn in gebrauch, hätte selbst draufkommen können, dass man diesen Mod so konfigurieren kann.

Gruß Gandalf
Gandalf
ConPresso-Checker
Beiträge: 108
Registriert: 01.01.1970 01:00
Hat sich bedankt: 6 Mal
Danksagung erhalten: 5 Mal

Beitrag von Gandalf »

Hallo Matthias,

es läuft alles zur vollsten Zufriedenheit, danke.

Wann kommt denn die nächste Version des Gästebuches raus? Lohnt sich noch das warten vor der Veröffentlichung auf meiner HP?

Wie wird denn zukünftig ein Update/Upgrade auf neuere Versionen ablaufen?

Gruß Gandalf
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

MarkusR hat geschrieben:Edit (Matthas V): Ich habe die Code-Zeilen mal etwas gekürzt bzw. Zeilenumbrüche eingefügt, damit das Forum nicht endlos breit wird.
Sorry... habe nicht an die Firefox-Schwächen gedacht... :oops:
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Gandalf hat geschrieben:Hallo Matthias,

es läuft alles zur vollsten Zufriedenheit, danke.

Wann kommt denn die nächste Version des Gästebuches raus? Lohnt sich noch das warten vor der Veröffentlichung auf meiner HP?

Wie wird denn zukünftig ein Update/Upgrade auf neuere Versionen ablaufen?

Gruß Gandalf
Das kann noch dauern bis es eine neue Version gibt, da die Version 4.0.5 noch nicht sehr alt ist.
Ein Update wird immer durch drüber kopieren der neuen Dateien möglich sein. Wenn es neue Moduleinstellungen gibt, dann reicht dort immer ein einfaches abspeichern dieser, nachdem die neuen Optionen mit Inhalt gefüllt wurden. Also läuft das Update ohne Probleme.

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Antworten