Seite 1 von 1

Suche

Verfasst: Mo 4. Dez 2017, 10:52
von Peer
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.

Re: Suche

Verfasst: Mo 4. Dez 2017, 17:02
von Oldperl
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

Re: Suche

Verfasst: Mo 4. Dez 2017, 19:39
von Peer
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

Re: Suche

Verfasst: Di 5. Dez 2017, 11:13
von Oldperl
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

Re: Suche

Verfasst: Di 5. Dez 2017, 17:08
von homtata
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.

Re: Suche

Verfasst: Di 5. Dez 2017, 17:53
von Peer
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

Re: Suche

Verfasst: Di 5. Dez 2017, 18:36
von homtata
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.

Re: Suche

Verfasst: Mi 6. Dez 2017, 09:46
von Faar
OT: dem Homtata einen Nikolaus rüberschieb

Re: Suche

Verfasst: Mi 6. Dez 2017, 10:01
von homtata
OT: oh danke faar, love chocolat very much, thank you!

Re: Suche

Verfasst: Mi 6. Dez 2017, 10:08
von Faar
Ob man das mit den Artikel-Tags lösen könnte?

Re: Suche

Verfasst: Mi 6. Dez 2017, 10:11
von Faar
OT: eigentlich wollen wir alle doch nur das eine: Kaffee und Schokolade dazu

Re: Suche

Verfasst: Mi 6. Dez 2017, 16:37
von homtata
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.

Re: Suche

Verfasst: Fr 8. Dez 2017, 17:32
von Peer
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

Re: Suche

Verfasst: Fr 8. Dez 2017, 18:45
von homtata
naja, aber dann musst du doch auch dafür wieder eine Eingabemaske bauen für die Redakteure?

Re: Suche

Verfasst: Fr 8. Dez 2017, 19:29
von Peer
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.