CP-Titel in Formular übernehmen

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
Post Reply
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

CP-Titel in Formular übernehmen

Post by update »

Hey all, ich habe auf einer Seite mehrere Content-Parts mit verschiedenen Veranstaltungen im jeweiligen CP-Titel, immer mit Datum, wann die Veranstaltung stattfinden wird.
Am Ende der Content-Parts ist jeweils ein Button, der ein Formular aufruft, damit sich die interessierte Person anmelden kann.

Nun wäre es chick, wenn zB der entsprechende Conten-Part-Titel sich im aufgerufenen bzw versendeten Formular zB im Betreff wiederfände.

Wie das mit Artikeltiteln geht, habe ich im WIKI gefunden, aber es übersteigt mein know-how, wie das mit CP-Titeln gehen könnte.
Kann jemand einsteigen und mir zu Hilfe eilen? Das wäre ganz großes Kino :D
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: CP-Titel in Formular übernehmen

Post by Uwe367 »

update wrote: Thu 11. Feb 2021, 11:29 Wie das mit Artikeltiteln geht, habe ich im WIKI gefunden, aber es übersteigt mein know-how, wie das mit CP-Titeln gehen könnte.
Wo hast du das denn im Wiki gefunden? Poste mal bitte den Link dort hin. Vielleicht kann man das so verbiegen daß es mit CP Titeln funktioniert.
Wobei mir aber auch gerade einfällt daß du im CP Formular jedem Feld auch einen festen Wert zuteilen kannst. Wäre dann nur etwas mehr "Handarbeit".
Du hast aber auch die Möglichkeit einen Zwischentext einzubauen, aber ich denke das soll automatisiert erfolgen.
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: CP-Titel in Formular übernehmen

Post by update »

Im wiki für Artikeltitel und hier im Forum für Newstitel:
https://wiki.phpwcms.org/doku.php/deuts ... m-formular
viewtopic.php?f=16&t=25098&p=149916&hil ... ar#p149916
Wie das Formular wissen kann, welchen CP-Titel es jetzt nehmen muss, wenn da mehrere auf einer Seite sind, weiß ich echt nicht. Wenn das zu schwierig sein sollte, baue ich das Newstemplate um und mache das mit den News. Da weiß ich, dass es geht ;)
EDIT: Ich baue gerade eine Website nach dem Entwurf eines Grafikers. Mach ich nie wieder!!! :twisted:
Vor allem nicht, weil ich so raus bin aus dem Thema. Ich baue lieber ne Gitarre oder ein ganzes Haus stattdessen :lol:
EDIT II: Ich mach den Sch... seit 1995. Das muss jetzt echt mal reichen. Bin bald 70. Echt jetzt :oops:
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: CP-Titel in Formular übernehmen

Post by Oliver Georgi »

Also, ohne jetzt das konkrete Design etc. zu kennen.

Der einfachste Weg an der Stelle ist JavaScript. Gib einfach jedem der ContentPart-Titel, den Du im Formular übernehmen möchtest, eine Klasse im Template mit, also z.B. <h3 class="form-subject">Titel</h3>. Ich habe jetzt nicht herauslesen können, ob Du das nur 1x oder mehrfach haben möchtest. Bei Mehrfach dann im Formular z.B. als Auswahlmenü.

Für den Button ist es natürlich noch simpler. Den Klickt man ja, dann hängt man dort den Titel dran.

Code: Select all

<button class="btn btn-primary form-click" data-subject="{TITLE}">Zum Formular</button>
Irgendwo auf der Seite ist dann das Formular mit dem Input-Feld (z.B. auch hidden möglich), welches eine ID haben sollte. Dort hinein schickt man das dann…

Code: Select all

$(function(){
    let $defaultSubject = 'Standardbetreff',
        $formSubjectInput = $('#form-subject-id'),
        $goToFormButtons = $('button.form-click');

    if($goToFormButtons.length) {
        $goToFormButtons.on('click', function() {
            $formSubjectInput.val($(this).data('subject') || $defaultSubject);
            $([document.documentElement, document.body]).animate({
                scrollTop: $formSubjectInput.offset().top
            }, 500);
        });
    }
});
Da führen viele Wege nach Rom.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: CP-Titel in Formular übernehmen

Post by update »

Irgendwie bin ich zu doof, jetzt sendet das formular gar nix mehr, sogar die Daten für den Download sind völlig unvollständig. Ich geh jetzt Tulpenzwiebeln einbuddeln ;)
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: CP-Titel in Formular übernehmen

Post by update »

So, sendet wieder. Aber übernimmt keinen Titel, weder in ein einfaches Feld noch in ein Dropdownmenü... Weiter probieren.
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: CP-Titel in Formular übernehmen

Post by Oliver Georgi »

Ich habe Dir nur eine ungefähren Ansatz geliefert ;-) Da sind halt viele Unbekannte, die man wissen müsste, um der Lösung näher zu kommen.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: CP-Titel in Formular übernehmen

Post by update »

Hihi, hab's gemerkt. Jetzt ein paar Stündchen experimentiert, aber da füllt sich leider nirgends nix :?
Vielleicht sollte ich doch das Newsmodul anpassen, da habe ich das ja schon mal hinbekommen. Ich dachte halt, das mit so ein paar wysiwyg-Dingern ginge erstmal schneller, um nachher in Ruhe an den News zu schrauben... :roll:
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: CP-Titel in Formular übernehmen

Post by Oliver Georgi »

Schick einen Link per E-Mail und ich sehe vielleicht, wo Du dir auf den Füßen stehst.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
Uwe367
Posts: 1206
Joined: Sat 15. Sep 2007, 07:19
Location: Koblenz

Re: CP-Titel in Formular übernehmen

Post by Uwe367 »

Hmm... Habe mir da auch mal gerade ein paar Gedanken drüber gemacht und daraus käme nun folgender Vorschlag.
Es gibt doch den RT { SHOW_CONTENT: CPid }. Wäre es nicht möglich etwas ähnliches, z.B. { SHOW_TITLE: CPid } zu bauen und das Formularfeld dann lediglich mit dem RT zu füllen? Gerade bei mehreren Formularen mit Feldern, die automatisch ausgefüllt werden sollen wäre das doch dann die praktischste Lösung oder?
Ist nur eine Idee. Ob das Sinn macht oder technisch zu aufwendig ist... keine Ahnung.
nameless1
Posts: 878
Joined: Sun 27. Apr 2008, 23:22

Re: CP-Titel in Formular übernehmen

Post by nameless1 »

Technisch aufwändig? Schau Dir mal die Script Möglichkeiten hier an.
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: CP-Titel in Formular übernehmen

Post by Oliver Georgi »

Ich habe es per JavaScript gelöst – auf Basis meines geposteten Vorschlags. Template leicht angepasst und noch das angesprochene Formular glatt gezogen und fertig.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: CP-Titel in Formular übernehmen

Post by update »

Und es funktioniert ganz einfach. Ganz super :)
Mit einer vordefinierten Klasse in einer Box und einer definierten Klasse für zB H3 sammelt das Ganze alle Titel in einem Dropdownmenü (Formular ist als Modal gemacht). Ein Klick auf einen Button mit einer definierten Klasse ploppt das gefüllte Formular hoch. Usw usf... Ideen?
Sag ich doch : ganz einfach super-uper-easy (wenn man weiß, wie man so was machen muss :lol: )
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
top
Posts: 535
Joined: Fri 11. Aug 2006, 15:03
Location: Eutin

Re: CP-Titel in Formular übernehmen

Post by top »

Hallo allerseits,

da ich gerade mit einem ähnlichen Problem zugange bin, will ich meine (bisherige) Lösung hier auch mal reinstellen.

Bei mir geht es (wie in diesem alten Thread hier: viewtopic.php?f=1&t=15744 ) allerdings um die Newsdetails bei denen das Kontaktformular auch ein paar Informationen der gerade geöffneten "Veranstaltung" übergeben soll. Da die Seite bisher noch ohne JS auskommt, wollte ich das mit PHP lösen.

1. Grundsätzlich ergänze ich im Formular erst mal ein verstecktes Feld wie hier beschrieben:
https://wiki.phpwcms.org/doku.php/deuts ... m-formular

2. Im Template der News ergänze ich bei der Detailansicht die gewünschten Informationen in einem HTML-Kommentar:

Code: Select all

<!-- NEWS_FORMULARDATEN_START[NEWS_TITLE]---------------------------------------------
Termin: {NEWS_TITLE}
[/NEWS_TITLE][NEWS_TOPIC]{NEWS_TOPIC}
[/NEWS_TOPIC][NEWS_SUBTITLE]{NEWS_SUBTITLE}
[/NEWS_SUBTITLE] NEWS_FORMULARDATEN_END //-->
3. Und hier der Teil, an dem ich mir mit meinen bescheidenen PHP-Kenntnissen fast die Zähne ausgebissen hätte. In /template/inc_script/frontend_render/ kommt noch folgende PHP-Datei, um die Daten vom HTML-Kommentar in das vorbereitete Formularfeld zu kopieren:

Code: Select all

<?php
// Aktuelle News-Informationen an Formular uebergeben
//
// Nach Start und Ende der Daten suchen (+24 wegen der Laenge des Start-Tags)
$newsformstart = (strpos($content['all'], 'NEWS_FORMULARDATEN_START')+24);
$newsformend = strpos ($content['all'], 'NEWS_FORMULARDATEN_END', $newsformstart);  
if ($newsformend === false) {
	// keine Daten gefunden -> Leeren des versteckten Formularfeldes
	$content['all'] = str_replace('[%GLOBAL_FORM_SUBJECT%]', '', $content['all']);
} else {
	// Daten gefunden -> Entnahme der Daten und Fuellen des versteckten Formularfeldes
	$newsformulardaten = substr($content['all'], $newsformstart, $newsformend-$newsformstart);
	$content['all'] = str_replace('[%GLOBAL_FORM_SUBJECT%]', $newsformulardaten, $content['all']);
}
Vielleicht hilft es ja jemanden. (Oder mir, falls ich irgendwann wieder vor einem ähnlichem Problem stehe.)

Verbesserungsvorschläge sind natürlich auch willkommen. Gerade bei dem PHP-Teil bin ich mir nicht sicher ob das so vernünftig ist oder nicht einfacher geht.

Grüße
top
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: CP-Titel in Formular übernehmen

Post by update »

Das Besondere an Olivers Lösung (für meine Aufgabenstellung) ist, dass die Routine egal wie viele Items sammeln und in ein select-Feld schreiben kann. Das heißt für Deine Aufgbenstellung im Prinzip, dass der Klick auf Newsdetails entfallen kann und schon aus dem Newslisting heraus gearbeitet werden kann. Müsste bei Deinen vielen abzufragenden Informationen sicherlich etwas angepasst werden (nicht von mir :lol: ).
Mir war wichtig, aus beliebigen Einträgen auf der Seite die relevanten Infos in das Formular zu bekommen, unabhängig von der Erscheinungsform. Das geht prima, solange nur alles in dem angesprochenen Container sitzt und alles die entsprechenden Klassen zugewiesen bekommt.
Aber Deine spezielle Lösung mit php scheint (für die Übernahme einer einzelnen Info) auch ein interessanter Ansatz zu sein!
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
Post Reply