Suche

Alles rund um Module und Plugins in CONTENIDO 4.9.
Antworten
Peer
Beiträge: 269
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Suche

Beitrag von Peer » Mo 4. Dez 2017, 10:52

Hallo,

ich beschäftige mich seit mehren Tagen mit einem "Problem".

Ich habe das Modul Terminliste v3, für mich so umgestaltet das ich es für eine Projekt Datenbank verwände.
Leider bekomme ich den Bogen nicht hin das die Filter richtig laufen.

In der Projekt-List gibt es drei Kategorien
Altersgruppe, Schwerpunkt und Kreis

Diese werden im Backend per Hacken gesetzt und sollen dann per DropDown gefiltert werden.
Bei einer Kategorie läuft das auch super.

Beispiel: http://fwa.s73.mein-host.de/contenido/c ... =42&lang=1

Bei drei Kategorien fang ich an zu verzweifeln.
Ich bekomme es nicht mal mehr hin das die drei Kategorien die Dingen anzeigen sollen diese anzeigen sollen.
Die Daten dafür sind alle im Mandanten hinterlegt.

Beispiel: http://fwa.s73.mein-host.de/contenido/c ... =49&lang=1

Hat jemand eventuell eine Lösung für mich.
Ich brauche eigentlich eine Suchfunktion die innerhalb einer Kategorie die Daten durchgeht die ich im Dropdown-Feld auswähle.
Altersklasse, Dann Schwerpunkt und dann Kreis.

Vielen Dank für eure Hilfe.

Oldperl
Beiträge: 3950
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Franken, Bayern
Kontaktdaten:

Re: Suche

Beitrag von Oldperl » Mo 4. Dez 2017, 17:02

Servus,

sorry, aber wie soll Dir da Jemand helfen allein durch anschauen des nicht funktionierenden Ergebnisses im Frontend. Vielleicht ist es sinnvoller wenn Du da konkrete Code-Beispiele postest mit entsprechenden Links zum Anschauen. Auch Screenshots wie es mal aussehen sollte und kleine Ablaufskizzen oder -aufzählungen können hilfreich sein.
Ich persönlich versuche bei so etwas mit meinen Kunden immer kleine "Lastenhefte" zu erstellen, zumeist zu Beginn eine Sammlung von DIN A4 Blättern, auf denen der Kunde beschreibt, was er gerne haben möchte und wie er sich dabei den Ablauf vorstellt. Daraus ergibt sich dann per Nachfrage/Antwort-Spiel, und ein paar Ergänzungen zur Durchführung durch mich, eine gute Grundlage um auch entsprechende Angebote machen zu können.

Gruß aus Franken

Ortwin
*NEU* CONTENIDO 4.9 Entwickler-Handbuch
Publikation auf medium.com zu meinem angedachten Entwickler-Buch zu CONTENIDO 4.9
ConLite 2.0, alternatives und stabiles Update von Contenido 4.8.x *-* phpBO Search Advanced - das neue Suchwort-Plugin für CONTENIDO 4.9 *-* Mein Entwickler-Blog

Peer
Beiträge: 269
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Re: Suche

Beitrag von Peer » Mo 4. Dez 2017, 19:39

Hallo Ortwin,

danke für deine Rückmeldung. Ich habe in der Tat eine Skizze :-)

Bild


Ich habe mit dem Modul: article-list-reloaded eine Übersicht aller Projekte.

Nun möchte ich diese Filtern mit den drei Kriterien.

Altersklasse, Sschwerpunkt und Kreis.

Code für die Such eingabe:

Code: Alles auswählen




<div>
	
	{if $errors} 
	
	<ul class="errors">
		
		{foreach from=$errors item=error}
		<li class="error">{$error}</li>
		
		{/foreach}
	</ul>
	{/if}
	
	{if $success} 
	
	<ul class="success">
		
		{foreach from=$success item=sucmsg}
		<li class="success">{$sucmsg}</li>
		
		{/foreach}
	</ul>
	{/if}
	
	<form action="{$formaction}" method="post" name="MOD_TS_select" id="standardForm">
		
		<fieldset><legend>Projektliste</legend>
	
	
		


	
			<h2>Wählen Sie eine Zielgruppe aus:</h2>
		<input type="hidden" name="MOD_TS_alter_check" value="yes">
			<p>{$categories_dropdown}</p>

			{else}
			<input type="hidden" name="MOD_TS_schw_check" value="no">
	
			
		
			<h2>Wählen Sie einen Schwerpunkt aus:</h2>
		<input type="hidden" name="MOD_TS_kreis_check" value="yes">
			<p>{$categories_dropdown}</p>

			{else}
			<input type="hidden" name="MOD_TS_cat_check" value="no">
		
			
			
			<h2>Wählen Sie einen Kreis aus:</h2>
		<input type="hidden" name="MOD_TS_cat_check" value="yes">
			<p>{$categories_dropdown}</p>
			{else}
			<input type="hidden" name="MOD_TS_cat_check" value="no">
		
			<input type="submit" class="send" name="MOD_TS_suchen" value="{$label.send}">
		
		</fieldset>
		
		
		
	</form>
</div>
So wo ich hilfe brauche.

Ich weiß nicht genau wie ich die Daten für die drei Felder, die ich unter Administration - Mandanten - Mandateneinstellungen hinterlegt habe. In meine Dropdown-Felder bekomme (Wobei ich das mir noch durch andere Module ableiten kann)

Die größte Hürde die ich zurzeit habe ist, das meine Ergebnisse auf Grundlage der Suchabfrage erscheint.
Da fehlen mir die Fachkenntnisse. Ich habe versucht mir das über das Terminlisten-Modul abzuleiten aber leider ohne Erfolg.

Dazu habe ich gerade auch keine Cods oder ähnliches.

Es soll so ähnlich ablaufen wie hier in dem Beispiel:
http://fwa.s73.mein-host.de/contenido/c ... =42&lang=1

Wählt man dort "(Vor-)lesen macht stark" und klickt dann auf Suche starten ...

So hätte ich das auch gerne bei der andern Sache.

Vielen Dank
Dateianhänge
filter.jpg
(16.65 KiB) Noch nie heruntergeladen

Oldperl
Beiträge: 3950
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Franken, Bayern
Kontaktdaten:

Re: Suche

Beitrag von Oldperl » Di 5. Dez 2017, 11:13

Servus,

also mit deinem Code stimmt da etwas nicht, das sind ja nur Fragmente. Soll das der Code aus deinem Modul sein? Schau Dir das bitte nochmal an und poste mal den kompletten Code.

Gruß aus Franken

Ortwin
*NEU* CONTENIDO 4.9 Entwickler-Handbuch
Publikation auf medium.com zu meinem angedachten Entwickler-Buch zu CONTENIDO 4.9
ConLite 2.0, alternatives und stabiles Update von Contenido 4.8.x *-* phpBO Search Advanced - das neue Suchwort-Plugin für CONTENIDO 4.9 *-* Mein Entwickler-Blog

homtata
Beiträge: 960
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Suche

Beitrag von homtata » Di 5. Dez 2017, 17:08

Hallo peer, ich denke mal, dass du grundlegende Verständnisprobleme der verschiedenen Module hast und du crossovers produzieren willst. Die Mandantenwerte für Kategorien kommen aus der Terminliste und haben mit der ALR nix zu tun, können dort auch nicht ohne weiteres nachgerüstet werden. Hast du denn überhaupt die verschiedenen Kategorien für die ALR schon irgendwie separiert, und wenn ja,wie? Das Hauptsuchmodul wird nicht anschlagen, da dort erstmal nur CMS_HTMLHEAD1 und CMS_HTML1 durchsucht werden, während die ALR meist weitere Nummern für die entsprechenden CMS-Typen durchsucht.

Wahrscheinlich ist es am einfachsten, am ENDE der ALR über das Ergebnisarray (das auch an Smarty übergeben wird) eine Suche laufen zu lassen und zu versuchen, dort herauszufinden, welche idcat der Artikel hat und ob dies einem händisch zugewiesenen Projektnamen entspricht (also: $idcat = 58 entspricht "Theater", $idcat = 50 entspricht "Konzerte"). Mit diesen Werten bestückst du dann auch das Suchfeld.

Peer
Beiträge: 269
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Re: Suche

Beitrag von Peer » Di 5. Dez 2017, 17:53

Hallo ihr beiden,

@homtata: In der Tat fehlt mir da ein paar wesentliche Fachkenntnisse.
Ich nutze für die Eingabe der Projekte die Eingabe aus der Terminliste V3

Für die Suche sind folgende Elemente wichtig
Zielgruppe: ($adressatselect)
Schwerpunkte: ($categoryselect)

Code: Alles auswählen

 
{if $errors} 

<ul class="errors">
	
	{foreach from=$errors item=error}
	<li class="error">{$error}</li>
	
	{/foreach}
</ul>
{/if}

{if $success} 

<ul class="success">
	
	{foreach from=$success item=sucmsg}
	<li class="success">{$sucmsg}</li>
	
	{/foreach}
</ul>
{/if}

<div id="terminInputForm">


	
	
<form action="{$actionlink}" method="post" id="standardForm" name="MOD_TE_eintrag">
		
		<fieldset><legend>{$fieldset_details}</legend>
			
			
			
			<label>{$label_title}</label><input type="text" name="MOD_TE_titel" value="{$termin.6}" size=70/><br>
			<label>{$label_projektnr}</label><input type="text" name="MOD_TE_projektnr" value="{$termin.23}" size=70/><br>
			<label>{$label_einrichtung}</label><input type="text" name="MOD_TE_einrichtung" value="{$termin.24}" size=70/><br>
			<label>{$label_kostenstelle}</label><input type="text" name="MOD_TE_kostenstelle" value="{$termin.25}" size=70/><br>
			<label>{$label_strasse}</label><input type="text" name="MOD_TE_strasse" value="{$termin.26}" size=70/><br>
			<label>{$label_plz}</label><input type="text" name="MOD_TE_plz" value="{$termin.27}" size=70/><br>
			<p class="info">{$info_misc}</p>
			{if $venuelist eq ""}
				<label>{$label_venue}</label><input type="text" name="MOD_TE_ort" value="{$termin.4}" size=20 {$venuetype} />
			{else}
				<select name="MOD_TE_ortsliste" size="1">';		
					{foreach from=$venuelist item=venue}		
					{if $venue == $termin.4 }
					<option selected value="{$venue}">{$venue}</option>
					{else}
					<option value="{$venue}">{$venue}</option>
					{/if}
					{/foreach}
				</select>
			{/if}<br>
			<label>{$label_ortdetails}</label><input type="text" name="MOD_TE_ortdetails" value="{$termin.28}" size=70/><br>
			<label>{$label_telefon}</label><input type="text" name="MOD_TE_telefon" value="{$termin.29}" size=70/><br>
			<label>{$label_email}</label><input type="text" name="MOD_TE_email" value="{$termin.30}" size=70/><br>
			<label>{$label_ansprechpartner}</label><input type="text" name="MOD_TE_ansprechpartner" value="{$termin.31}" size=70/><br>
			<hr>
			<label class="nonmandatory">{$label_adressat}</label><div style="display: inline-block;width: 50%;">{$adressatselect}</div><br>
			<hr>
			<label class="nonmandatory">{$label_category}</label><div style="display: inline-block;width: 50%;">{$categoryselect}</div><br>
			<hr>
			<label>{$label_text}</label><textarea type="text" name="MOD_TE_text" value="{$termin.8}" size=270>{$termin.8}</textarea><br>
			<label>{$label_details}</label><textarea type="text" name="MOD_TE_details" value="{$termin.18}" size=270>{$termin.18}</textarea><br>
			<label>{$label_alter}</label><input type="text" name="MOD_TE_alter" value="{$termin.34}" size=70/><br>
			<label>{$label_geschlecht}</label><input type="text" name="MOD_TE_geschlecht" value="{$termin.35}" size=70/><br>

			<label>{$label_dauer}</label><input type="text" name="MOD_TE_dauer" value="{$termin.37}" size=70/><br>		
			
			<hr>
			
			<label class="nonmandatory">Woche</label>



			
<div style="display: inline-block;width: 50%;">
			<div class="checkboxfloats" style="width:200px;"><input type="checkbox" name="MOD_TE_mo" value="yes" {$montag} />{$label_mo}</div>
			<div class="checkboxfloats" style="width:200px;"><input type="checkbox" name="MOD_TE_di" value="yes" {$dienstag} />{$label_di}</div>
			<div class="checkboxfloats" style="width:200px;"><input type="checkbox" name="MOD_TE_mi" value="yes" {$mittwoch} />{$label_mi}</div>
			<div class="checkboxfloats" style="width:200px;"><input type="checkbox" name="MOD_TE_do" value="yes" {$donnerstag} />{$label_do}</div>	
			<div class="checkboxfloats" style="width:200px;"><input type="checkbox" name="MOD_TE_fr" value="yes" {$freitag} />{$label_fr}</div>
			<div class="checkboxfloats" style="width:200px;"><input type="checkbox" name="MOD_TE_sa" value="yes" {$samstag} />{$label_sa}</div>
			<div class="checkboxfloats" style="width:200px;"><input type="checkbox" name="MOD_TE_so" value="yes" {$sonntag} />{$label_so}</div>
			</div>
		<hr>	
<label class="nonmandatory">Tageszeit</label>
<div style="display: inline-block;width: 50%;">
			<div class="checkboxfloats" style="width:200px;"><input type="checkbox" name="MOD_TE_vormittags" value="yes" {$vormittags} />{$label_vormittags}</div>
			<div class="checkboxfloats" style="width:200px;"><input type="checkbox" name="MOD_TE_nachmittags" value="yes" {$nachmittags} />{$label_nachmittags}</div>
			<div class="checkboxfloats" style="width:200px;"><input type="checkbox" name="MOD_TE_abends" value="yes" {$abends} />{$label_abends}</div>
		</div>
<hr>
			<label>{$label_faehigkeiten}</label><textarea type="text" name="MOD_TE_faehigkeiten" value="{$termin.36}" size=70>{$termin.36} </textarea><br>
			<hr>
			<label class="nonmandatory">{$label_teaser}</label><input type="checkbox" name="MOD_TE_teaser" value="yes" {$teaser_check} /><br>
			<label class="nonmandatory">{$label_highlight}</label><select name="MOD_TE_highlight" size="1">';
			{foreach from=$highlightlist key=key item=highlight}		
			{if $highlight == $termin.20 }
			<option selected value="{$highlight}">{$highlight}</option>
			{else}
			<option value="{$highlight}">{$highlight}</option>
			{/if}
			{/foreach}
			</select><br>
			
			
			
			<hr>

	
			

				<label class="nonmandatory">{$label_aufwand}</label><input type="checkbox" name="MOD_TE_aufwand" value="yes" {$aufwand} /><br>
			<label class="nonmandatory">{$label_werbung}</label><input type="checkbox" name="MOD_TE_werbung" value="yes" {$werbung} /><br>

		</fieldset>
	
		

		
			<input type="submit" value="{$label_save}" class="send"><input type="hidden" name="MOD_TE_senden" value=1>
		
</form>
		
<fieldset><legend>{$fieldset_main}</legend>

	<label>{$label_link}</label><div style="display: inline-block;">{$termin.linkdesc}</div><br><br>	
	<label>{$label_image}</label><div style="display: inline-block;">{$termin.imageeditor}</div>
	<img src="{$termin.imagesrc}" style="display: inline-block;" />
			</fieldset>
			
</div>


So schaut dann der Entsprechende Output des Moduls aus

Code: Alles auswählen

[/    <?php
    /***********************************************
    * CONTENIDO MODUL - OUTPUT
    *
    * Modulname      :     Termineingabe/anzeige universal
    * Version        :     3.0
    * Author         :     schlaucher (Original 4.8 version)
    * 4.9 Adaptation :     Viktor Lehmann, TONE2TONE
    * Created        :     12-07-2006 (schlaucher)
    * Modified       :     20.08.2015 (T2T)
    ************************************************/

    /***********************************************
    * Formularfelder:
    *
    * $MOD_TE_termin[0] = Startdatum
    * $MOD_TE_termin[1] = Startzeit
    * $MOD_TE_termin[2] = Enddatum
    * $MOD_TE_termin[3] = Endzeit
    * $MOD_TE_termin[4] = Ziel
    * $MOD_TE_termin[5] = Geld
    * $MOD_TE_termin[6] = Titel
    * $MOD_TE-termin[7] = Check für Teaser
    * $MOD_TE_termin[8] = Text
    * $MOD_TE_termin[9] = Link CMS_LINK[9]
    * $MOD_TE_termin[10] = Termin Zyklus
    * $MOD_TE_termin[11] = Termin Zyklus Wochentage
    * $MOD_TE_termin[12] = jeden 1.,2.,3.,4.,5. Wochentag
    * $MOD_TE_termin[13] = Kategorien A
    * $MOD_TE_termin[14] = Image
    * $MOD_TE_termin[15] = Status
    * $MOD_TE_termin[16] = Termin Zyklus jeden x-ten Tag
    * $MOD_TE_termin[17] = Termin Zyklus Ausschlussliste
    * $MOD_TE_termin[18] = Beschreibung
    * $MOD_TE_termin[19] = Termin Zyklus Anzeigemodus2(Anzahl)
    * $MOD_TE_termin[20] = Termin in der Terminliste hervorheben
    * $MOD_TE_termin[21] = Kategorien B
    * $MOD_TE_termin[22] = zusätzliche Termine

    * $MOD_TE_termin[23] = Projekt Nr
    * $MOD_TE_termin[24] = Einrichtung
    * $MOD_TE_termin[25] = Kostenstelle
    * $MOD_TE_termin[26] = Strasse
	* $MOD_TE_termin[27] = PLZ
	* $MOD_TE_termin[28] = Ort-Details
	* $MOD_TE_termin[29] = Telefon
	* $MOD_TE_termin[30] = E-Mail
	* $MOD_TE_termin[31] = Ansprechpartner
	* $MOD_TE_termin[32] = Aufwandsentschädigung
	* $MOD_TE_termin[33] = Werbung
	
	* $MOD_TE_termin[34] = Alter FW
	* $MOD_TE_termin[35] = Geschlecht FW
	* $MOD_TE_termin[36] = Fähigkeiten FW
	* $MOD_TE_termin[37] = Dauer
	
	* $MOD_TE_termin[38] = Mo
	* $MOD_TE_termin[39] = Di
	* $MOD_TE_termin[40] = Mi
	* $MOD_TE_termin[41] = Do
	* $MOD_TE_termin[42] = Fr
	* $MOD_TE_termin[43] = Sa
	* $MOD_TE_termin[44] = So
	
	* $MOD_TE_termin[45] = vormittags
	* $MOD_TE_termin[46] = nachmittags
	* $MOD_TE_termin[47] = abends
	
	
    ************************************************/

    // To Do:
    // Re-Introduce Kategorie Output to FEU version
    // Re-Introduce Status
    // Re-Introduce Time Settings
    // Re-Introduce Cycle Settings
    // Re-Introduce Image. Deleted here, code is too oldfashioned.
       
       
    // Includes
    cInclude("module", "functions.terminliste.php");
    cInclude("frontend", "includes/functions.t2t.php");
  


    // Client Settings
    $categories[1]	  = getEffectiveSetting('projektliste', 'schwerpunkte', '');
    $adressat[1] 	  = getEffectiveSetting('projektliste', 'adressat', '');
    $highlightlist    = getEffectiveSetting('terminliste', 'css_classes', '');
    $highlightlist    = ( $highlightlist != "" ) ? explode(";", "--;".$highlightlist) : "";

    // Definition benötigter Variablen $MOD_TE_[Name]


    // Variablen aus Input Bereich

    // Anzeige des Images in der Vorschau
    $MOD_TE_img_show = ("CMS_VALUE[11]" == 'yes')  ? true : false;
    $MOD_TE_imgw = "CMS_VALUE[12]"; // Maximale Bildbreite
    $MOD_TE_imgh = "CMS_VALUE[13]"; // Maximale Bildhöhe
    $MOD_TE_imgar = "CMS_VALUE[14]"; // Bild Ausrichtung
    $MOD_TE_imgva= "CMS_VALUE[15]"; // Vertikaler Raum
    $MOD_TE_imgha = "CMS_VALUE[16]"; // Horizontaler Raum
    $MOD_TE_ortsliste_array = ( "CMS_VALUE[17]" != "" ) ? explode(';',"CMS_VALUE[17]") : ""; // Ortsauswahlliste
    $tpl_editor      =  ( "CMS_VALUE[24]" != "" ) ? "CMS_VALUE[24]" : "frontendeditor.tpl";
    $tpl_fedisplay   =  ( "CMS_VALUE[25]" != "" ) ? "CMS_VALUE[25]" : "frontenddisplay.tpl";


    // SQL Abfrage über den aktuellen Artikel
    $MOD_TE_sql  = "SELECT  ARTLANG.idart, CONTENT.value, CONTENT.typeid, CONTENT.idtype, ARTLANG.idartlang ";
    $MOD_TE_sql .= "FROM ".$cfg["tab"]["cat_art"]." AS CATART,";
    $MOD_TE_sql .= " ".$cfg["tab"]["art_lang"]." AS ARTLANG,";
    $MOD_TE_sql .= " ".$cfg["tab"]["cat"]." AS CAT,";
    $MOD_TE_sql .= " ".$cfg["tab"]["content"]." AS CONTENT,";
    $MOD_TE_sql .= " ".$cfg["tab"]["cat_lang"]." AS CATLANG ";
    $MOD_TE_sql .= "WHERE ARTLANG.idart = CATART.idart ";
    $MOD_TE_sql .= "AND CATART.idcat = CAT.idcat ";
    $MOD_TE_sql .= "AND ARTLANG.idartlang = CONTENT.idartlang ";
    $MOD_TE_sql .= "AND ARTLANG.idlang = '".$lang."' ";
    $MOD_TE_sql .= "AND ARTLANG.idart = '".$idart."' ";
    $MOD_TE_sql .= "AND CAT.idclient = '".$client."' ";
    $MOD_TE_sql .= "AND CATART.idcat = CATLANG.idcat ";
           
    $db->query($MOD_TE_sql); // Artikelangaben einlesen

    // überprüfen, ob im Editiermodus aufgerufen

           
        if ($db->numRows()> 0) // Datenfelder durchlaufen und alle CMS_TEXT Elemente in Array schreiben
            {
            $MOD_TE_termin = array(); // Array für die Termininhalte
            $MOD_TE_exists = array(); // Array für Prüfung, ob Datensatz bereits existiert
           
            $db->nextRecord();
            $idartlang = $db->f("idartlang");
            for ($MOD_TE_zaehler = 0; $MOD_TE_zaehler<$db->numRows(); $MOD_TE_zaehler++)
                {
                if ( $db->f("idtype") == 3 ) // = CMS_TEXT
                    {
                    $MOD_TE_typeid = $db->f("typeid");
                    $MOD_TE_termin[$MOD_TE_typeid] = $db->f("value");
                    $MOD_TE_exists[$MOD_TE_typeid] = 1;
                    }
                if ( $db->f("idtype") == "19" ) // = CMS_DATE
                    {
                $dom = new domDocument;
                $dom->loadXML($db->f("value"));
                $xml = simplexml_import_dom($dom);
                $date_Ymd  = date('Y-m-d',  (int)$xml->timestamp);
                $date_His  = date('H:i:s',  (int)$xml->timestamp);
                    $MOD_TE_typeid = $db->f("typeid");

                    $MOD_TE_termin[$MOD_TE_typeid."date"] = ($date_Ymd == "0000-00-00" ) ? "0000-00-00" : $date_Ymd;
                    $MOD_TE_termin[$MOD_TE_typeid."time"] = $date_His;
                    }             
                $db->nextRecord();
                }
            }
           
        if(!$MOD_TE_termin[6]) // falls noch kein Titel eingetragen, Seitentitel einlesen
            {
            $MOD_TE_sql    = "SELECT ARTLANG.title ";
            $MOD_TE_sql   .= "FROM ".$cfg["tab"]["art_lang"]." AS ARTLANG ";
            $MOD_TE_sql   .= "WHERE ARTLANG.idart = '".$idart."' ";
           
            $db->query($MOD_TE_sql);
            $db->nextRecord();
            $MOD_TE_termin[6] = $db->f("title");
            }
           
       // Presets
       //if(!$MOD_TE_termin[0]) $MOD_TE_termin[0] = $MOD_TE_today;   
        if(!$MOD_TE_termin[10]) $MOD_TE_termin[10] = 'no';
        if(!$MOD_TE_termin[11]) $MOD_TE_termin[11] = '';       
        if(!$MOD_TE_termin[12]) $MOD_TE_termin[12] = '';
        if(!$MOD_TE_termin[13]) $MOD_TE_termin[13] = '';
        if(!$MOD_TE_termin[21]) $MOD_TE_termin[21] = '';
        if(!$MOD_TE_termin[15]) $MOD_TE_termin[15] = '0';
        if(!$MOD_TE_termin[16]) $MOD_TE_termin[16] = '0';   
        if(!$MOD_TE_termin[17]) $MOD_TE_termin[17] = '';   
        if(!$MOD_TE_termin[18]) $MOD_TE_termin[18] = ' ';   
        if(!$MOD_TE_termin[19]) $MOD_TE_termin[19] = '-1';
            $MOD_TE_termin[20] = ( $MOD_TE_termin[20] = '') ? "--" : $MOD_TE_termin[20];
        if(!$MOD_TE_termin[22]) $MOD_TE_termin[22] = '';

        if($_POST["MOD_TE_senden"] == "1") // falls das Terminformular abgeschickt wurde, Daten in Datenbank schreiben
            {
          
            $MOD_TE_senden = false;
               
            $MOD_TE_termin[4] = ($MOD_TE_ortsliste == "") ? $MOD_TE_ort : $MOD_TE_ortsliste;         
            $MOD_TE_termin[5] = $MOD_TE_strasse;
            $MOD_TE_termin[6] = $MOD_TE_titel;
            $MOD_TE_termin[7] = $MOD_TE_teaser;
			$MOD_TE_termin[8] = $MOD_TE_text;
			$MOD_TE_termin[18] = $MOD_TE_details;
			$MOD_TE_termin[23] = $MOD_TE_projektnr;
			$MOD_TE_termin[24] = $MOD_TE_einrichtung;
			$MOD_TE_termin[25] = $MOD_TE_kostenstelle;
			$MOD_TE_termin[26] = $MOD_TE_strasse;
			$MOD_TE_termin[27] = $MOD_TE_plz;
			$MOD_TE_termin[28] = $MOD_TE_ortdetails;
			$MOD_TE_termin[29] = $MOD_TE_telefon;
			$MOD_TE_termin[30] = $MOD_TE_email;
			$MOD_TE_termin[31] = $MOD_TE_ansprechpartner;
			$MOD_TE_termin[32] = $MOD_TE_aufwand;
			$MOD_TE_termin[33] = $MOD_TE_werbung;
			$MOD_TE_termin[34] = $MOD_TE_alter;
			$MOD_TE_termin[35] = $MOD_TE_geschlecht;
			$MOD_TE_termin[36] = $MOD_TE_faehigkeiten;
			$MOD_TE_termin[37] = $MOD_TE_dauer;
			$MOD_TE_termin[38] = $MOD_TE_mo;
			$MOD_TE_termin[39] = $MOD_TE_di;
			$MOD_TE_termin[40] = $MOD_TE_mi;
			$MOD_TE_termin[41] = $MOD_TE_do;
			$MOD_TE_termin[42] = $MOD_TE_fr;
			$MOD_TE_termin[43] = $MOD_TE_sa;
			$MOD_TE_termin[44] = $MOD_TE_so;
			$MOD_TE_termin[45] = $MOD_TE_vormittags;
			$MOD_TE_termin[46] = $MOD_TE_nachmittags;
			$MOD_TE_termin[47] = $MOD_TE_abends;
          
            // Erweiterte Felder für Terminzyklen und Kategorien
            $MOD_TE_termin[10] = $MOD_TE_cycle;
          
          // 9 = Filelink, already dealt with through own CMS type. We need its contents separate though for FEU display
          $dom = new domDocument;
          $dom->loadXML($MOD_TE_termin[9]);
          $xml = simplexml_import_dom($dom);
          $MOD_TE_termin["link"] = $xml->externallink;
          $MOD_TE_termin["linkframe"] = $xml->newwindow;
          $MOD_TE_termin["linkdesc"] = $xml->title;
             
          		$MOD_TE_termin[21] = "";
          foreach ($_POST as $key => $value) {
             if ( substr($key, 0, 10) == 'categories') {
                $MOD_TE_termin[21] .= $value.";";
             }
          }
          if ( $MOD_TE_termin[21] != "" ) { $MOD_TE_termin[21] = substr($MOD_TE_termin[21] , 0, -1); }
          
				
		$MOD_TE_termin[13] = "";
          foreach ($_POST as $key => $value) {
             if ( substr($key, 0, 10) == 'categories') {
                $MOD_TE_termin[13] .= $value.";";
             }
          }
          if ( $MOD_TE_termin[13] != "" ) { $MOD_TE_termin[13] = substr($MOD_TE_termin[13] , 0, -1); }
          
		  
             

             
           
          // check all additional dates - eliminate if not correct, as it forces script errors.
          if ( $MOD_TE_zutermine != "" ) {
             $checkzutermine = explode(",",$MOD_TE_zutermine);
             foreach ($checkzutermine as $key=>$checktermin ) {
                $unixdate = strtotime($checktermin);
                   $recheck = date("Y-m-d", $unixdate);
                if ($recheck != $checktermin) {
                   unset($checkzutermine[$key]);
                   $errors[] = mi18n("error_dates_additional_couldnotallbesaved");
                }
             }
          }
          $MOD_TE_termin[22] = implode (",",$checkzutermine);

            for ($MOD_TE_zaehler=4; $MOD_TE_zaehler<=49; $MOD_TE_zaehler++)
                {
             // Nothing to save in case of #8 and #9, will be done at a later stage
              {
                if($MOD_TE_exists[$MOD_TE_zaehler]==1)
                   {
                   $MOD_TE_sql    = "UPDATE ".$cfg["tab"]["content"]." ";
                   $MOD_TE_sql   .= "SET value='".$MOD_TE_termin[$MOD_TE_zaehler]."', lastmodified='".$MOD_TE_date."' ";
                   $MOD_TE_sql   .= "WHERE idartlang = '".$idartlang."' ";
                   $MOD_TE_sql   .= "AND idtype='3' ";
                   $MOD_TE_sql   .= "AND typeid='".$MOD_TE_zaehler."' ";
                   $db->query($MOD_TE_sql);
                   }
                else
                   {
                   $MOD_TE_sql    = "INSERT INTO ".$cfg["tab"]["content"]." ";
                   $MOD_TE_sql   .= "(idartlang, idtype, typeid, value, author, created, lastmodified) ";
                   $MOD_TE_sql   .= "VALUES('".$idartlang."', '3', '".$MOD_TE_zaehler."', '".$MOD_TE_termin[$MOD_TE_zaehler]."', '".$MOD_TE_author."', '".$MOD_TE_date."', '".$MOD_TE_date."')";
                   $db->query($MOD_TE_sql);
                   }               
                }
             }
          }
          
		  
       
       
		  
       
       


       $MOD_TE_highlight_check = ("$MOD_TE_termin[20]" == '1') ? "checked" : "";
        $MOD_TE_disabled = ($MOD_TE_ortsliste_array[0] != "") ? "disabled" : "";
        $MOD_TE_teaser_check = ("$MOD_TE_termin[7]" == 'yes') ? "checked" : "";
        $MOD_TE_aufwand = ("$MOD_TE_termin[32]" == 'yes') ? "checked" : "";
		$MOD_TE_werbung = ("$MOD_TE_termin[33]" == 'yes') ? "checked" : "";
		$MOD_TE_mo = ("$MOD_TE_termin[38]" == 'yes') ? "checked" : "";
		$MOD_TE_di = ("$MOD_TE_termin[39]" == 'yes') ? "checked" : "";
		$MOD_TE_mi = ("$MOD_TE_termin[40]" == 'yes') ? "checked" : "";
		$MOD_TE_do = ("$MOD_TE_termin[41]" == 'yes') ? "checked" : "";
		$MOD_TE_fr = ("$MOD_TE_termin[42]" == 'yes') ? "checked" : "";
		$MOD_TE_sa = ("$MOD_TE_termin[43]" == 'yes') ? "checked" : "";
		$MOD_TE_so = ("$MOD_TE_termin[44]" == 'yes') ? "checked" : "";
		$MOD_TE_vormittags = ("$MOD_TE_termin[45]" == 'yes') ? "checked" : "";
		$MOD_TE_nachmittags = ("$MOD_TE_termin[46]" == 'yes') ? "checked" : "";
		$MOD_TE_abends = ("$MOD_TE_termin[47]" == 'yes') ? "checked" : "";
       
       
        // ab hier das Formular für die Editieransicht
       $MOD_TE_termin[startdate] = "CMS_DATE[1]";
       $MOD_TE_termin[enddate] = "CMS_DATE[2]";
	   
       $MOD_TE_termin[linkstd] = "CMS_LINK[9]";
       $MOD_TE_termin[linkdesc] = "CMS_LINKEDITOR[9]";
       $MOD_TE_termin[cycle] = ($MOD_TE_termin[10] == "no"   ) ? false : true;
       $MOD_TE_termin[imagesrc] = "CMS_IMG[14]";
       $MOD_TE_termin[imageeditor] = "CMS_IMGEDITOR[14]";   
       
       $tpl = cSmartyFrontend::getInstance();
       //$tpl->assign('actionlink', "front_content.php?idcat=$idcat&idart=$idart&lang=$lang&client=$client&contenido=$contenido");
       $tpl->assign('errors', $errors);
       $tpl->assign('actionlink', "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
       $tpl->assign('highlight_check', $MOD_TE_highlight_check);
       $tpl->assign('teaser_check', $MOD_TE_teaser_check);
		$tpl->assign('aufwand', $MOD_TE_aufwand);
		$tpl->assign('werbung', $MOD_TE_werbung);
		$tpl->assign('montag', $MOD_TE_mo);
		$tpl->assign('dienstag', $MOD_TE_di);
		$tpl->assign('mittwoch', $MOD_TE_mi);
		$tpl->assign('donnerstag', $MOD_TE_do);
		$tpl->assign('freitag', $MOD_TE_fr);
		$tpl->assign('samstag', $MOD_TE_sa);
		$tpl->assign('sonntag', $MOD_TE_so);
		$tpl->assign('vormittags', $MOD_TE_vormittags);
		$tpl->assign('nachmittags', $MOD_TE_nachmittags);
		$tpl->assign('abends', $MOD_TE_abends);
		$tpl->assign('adressat', $MOD_TE_adressat);
       $tpl->assign('venuetype', $MOD_TE_disabled);
       $tpl->assign('fieldset_main', mi18n("fieldset_main"));
       $tpl->assign('fieldset_details', mi18n("fieldset_details"));
       $tpl->assign('fieldset_cycle', mi18n("fieldset_cycle"));
       $tpl->assign('label_title', mi18n("Titel"));
       $tpl->assign('label_projektnr', mi18n("Projekt Nr"));
       $tpl->assign('label_einrichtung', mi18n("Einrichtung"));
	   $tpl->assign('label_faehigkeiten', mi18n("gewünschte Fähigkeiten FW"));
	   $tpl->assign('label_alter', mi18n("Alter FW"));
	   $tpl->assign('label_dauer', mi18n("Dauer der Tätigkeit (pro Woche/Monat in Std.)"));
	   $tpl->assign('label_geschlecht', mi18n("Geschlecht FW"));
	   $tpl->assign('label_mo', mi18n("Montag"));
	   $tpl->assign('label_di', mi18n("Dienstag"));
	   $tpl->assign('label_mi', mi18n("Mittwoch"));
	   $tpl->assign('label_do', mi18n("Donnerstag"));
	   $tpl->assign('label_fr', mi18n("Freitag"));
	   $tpl->assign('label_sa', mi18n("Samstag"));
	   $tpl->assign('label_so', mi18n("Sonntag"));
	   $tpl->assign('label_vormittags', mi18n("Vormittags"));
	   $tpl->assign('label_nachmittags', mi18n("Nachmittags"));
	   $tpl->assign('label_abends', mi18n("Abends"));
	   
	   
	   
	   $tpl->assign('label_kostenstelle', mi18n("Kostenstelle"));
       $tpl->assign('label_startdate', mi18n("Startdatum"));
       $tpl->assign('label_enddate', mi18n("Enddatum"));
       $tpl->assign('label_venue', mi18n("Ort"));
       $tpl->assign('label_strasse', mi18n("Strasse"));
	   $tpl->assign('label_aufwand', mi18n("Aufwandsentschäfigung"));
	   $tpl->assign('label_werbung', mi18n("Werbung"));
       $tpl->assign('label_plz', mi18n("Postleitzahl"));
       $tpl->assign('label_ortdetails', mi18n("Ort-Details"));
       $tpl->assign('label_telefon', mi18n("Telefon"));
       $tpl->assign('label_email', mi18n("E-Mail"));
       $tpl->assign('label_ansprechpartner', mi18n("Ansprechpartner*in"));
       $tpl->assign('label_details', mi18n("Beschreibung"));
       $tpl->assign('label_teaser', mi18n("Im Teaser anzeigen?"));
       $tpl->assign('label_highlight', mi18n("In Terminliste hervorheben?"));
       $tpl->assign('label_category', mi18n("Kategorien auswählen"));
       $tpl->assign('label_cycle', mi18n("Termin Zyklus ab Startdatum"));
       $tpl->assign('label_everyXdays', mi18n("Falls x-ter Tag: Definiere Anzahl Tage"));
       $tpl->assign('label_everyXweekdays', mi18n("Zyklus Woche: jeden..."));
       $tpl->assign('label_everyXweeknums', mi18n("Zyklus Woche: jeden..."));
       $tpl->assign('label_adddates', mi18n("Zusätzliche Termine, kommagetrennt"));
       $tpl->assign('label_removedates', mi18n("Termine ausschließen, kommagetrennt"));
       $tpl->assign('label_formatyyyymmdd', mi18n("formatyyyymmdd"));
       $tpl->assign('label_save', mi18n("Speichern"));
	   $tpl->assign('label_adressat', mi18n("Adressat"));
       $tpl->assign('label_text', mi18n("Einstigstext: "));
       $tpl->assign('label_link', mi18n("Link setzen: "));
       $tpl->assign('label_image', mi18n("Bild wählen: "));
	   $tpl->assign('label_zielgruppe', mi18n("Zielgruppe: "));
       $tpl->assign('info_misc', mi18n("infotext_misc"));
       $tpl->assign('categoryselect', createCheckbox($categories, $MOD_TE_termin[13], "categories", $lang, 200 ));
	   $tpl->assign('adressatselect', createCheckbox($adressat, $MOD_TE_termin[21], "adressat", $lang, 200 ));
       $tpl->assign('cycle_weekdayselect', createCheckbox3($cycleweekdays, explode("," , $MOD_TE_termin[11]), "cycleweekdays", $lang, 105 ));
       $tpl->assign('cycle_weeknumselect', createCheckbox3($cycleweeknums, explode("," , $MOD_TE_termin[12]), "cycleweeknums", $lang, 50 ));
       $tpl->assign('termin', $MOD_TE_termin);
       $tpl->assign('cyclelist', $cycles);
       $tpl->assign('highlightlist', $highlightlist);
       $tpl->assign('venuelist', $MOD_TE_ortsliste_array);
       // elements needed for FEU display
       $tpl->assign('label_back', mi18n("Zurück zur Übersicht"));
       $tpl->assign('label_timeformat', mi18n("Uhr"));
        $tpl->assign('label_status', mi18n("Status"));
       
       if ($contenido) {
             $tpl->display($tpl_editor );
          } else {
             $tpl->display($tpl_fedisplay );   
       }
       



	   ?>
Hier steht für
Zielgruppe: $MOD_TE_termin[21]
Schwerpunkte: $MOD_TE_termin[13]

Wobei ich es noch nicht geschafft habe die Zielgruppe in der DB gespeichert wird.

Schreibt er dann unter con_content ein Feld "value" den jeweiligen Schwerpunkt.

An sich genau wie bei der Terminliste.
Ich brauche ein Modul wo ich die drei Abfragen habe und er die Daten aus der DB filtert.

Ich habe nun auch ein kleines Budget bekommen, um jemanden zu bezahlen - also ich bin gerne bereit auch die Arbeit in einem gewissen maß zu entlohnen. Also das Budget beträgt einen kleine 3 Stellige summe.

Vielen Dank

Gruß

Peer

homtata
Beiträge: 960
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Suche

Beitrag von homtata » Di 5. Dez 2017, 18:36

Aaaalso du kannst nicht so einfach die ERFASSUNG der Dinge mit dem Terminmodul machen und dann mit der ALR den Output steuern - da werden wesentliche Felder bei der Ausgabe gar nicht berücksichtigt werden können, weil die Struktur total anders ist. Ich fürchte, du hast dich da ein bissel verrannt und einfach nicht richtig geplant, was du jetzt genau mit welchem Modul erreichen willst/kannst und dann alle Elemente drauf abstimmst. Solche Crossover sind auf jeden Fall nicht hilfreich. Für die Erfassung von Artikeln mit der ALR kann man angepasste Vorlagen erstellen für Headlines, Texte, Bilder und Datumsangaben. Man könnte ein neues Erfassungsmodul mit Dropdown schreiben, was eine Speicherung in einem CMS_HTML vornimmt oder sowas und DAS später ausliest und filtert, aber der bisherige Weg führt m.E. in die Sackgasse. Ich selbst habe derzeit keinerlei Kapazität, zum Jahresende steppt hier der Bär.

Faar
Beiträge: 1299
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Suche

Beitrag von Faar » Mi 6. Dez 2017, 09:46

OT: dem Homtata einen Nikolaus rüberschieb
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

homtata
Beiträge: 960
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Suche

Beitrag von homtata » Mi 6. Dez 2017, 10:01

OT: oh danke faar, love chocolat very much, thank you!

Faar
Beiträge: 1299
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Suche

Beitrag von Faar » Mi 6. Dez 2017, 10:08

Ob man das mit den Artikel-Tags lösen könnte?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Faar
Beiträge: 1299
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Suche

Beitrag von Faar » Mi 6. Dez 2017, 10:11

OT: eigentlich wollen wir alle doch nur das eine: Kaffee und Schokolade dazu
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

homtata
Beiträge: 960
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Suche

Beitrag von homtata » Mi 6. Dez 2017, 16:37

Artikel-Tags: nun es wäre denkbar, das über das Tagging zu lösen, ja, denn ein User hat hierfür ja die Erweiterung geliefert, die ich eingebaut hatte in die ALR.. gute Idee. Wobei man dann aber auch die Ausgabe nochmal tricksen müsste, damit die Eingrenzung nicht durch die Modulkonfiguration, sondern durch die Suche stattfindet. Aber egal wie: es erfordert erstmal ziemlich Aufwand.

Peer
Beiträge: 269
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Re: Suche

Beitrag von Peer » Fr 8. Dez 2017, 17:32

Hallo ihr lieben,

danke für die ganzen Rückmeldungen.
Ich habe mir noch mal überlegt wie ich an die Sache herangehe.

Ich überlege ob ich eine seperate Tabelle in der DB anlege. Nur für die Projekte.
Diese Datensätze dann auf der Homepage wiedergebe.

Sollte es dann nicht einfacher sein da irgendwelche Filter einzubauen ?

Vielen Dank

Gruß

Peer

homtata
Beiträge: 960
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Suche

Beitrag von homtata » Fr 8. Dez 2017, 18:45

naja, aber dann musst du doch auch dafür wieder eine Eingabemaske bauen für die Redakteure?

Peer
Beiträge: 269
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Re: Suche

Beitrag von Peer » Fr 8. Dez 2017, 19:29

da hätte ich jetzt an das Pifa Formular Modul gedacht.

Ich stehe etwas unter druck. In meinem Kopf war das alles so logisch und jetzt bekomme ich es nicht gebacken.
Der Focus liegt jetzt das diese Projekte auf die Page kommen und gefiltert werden können :-)

Alles andere kann ich dann auch noch mal machen.

Antworten