Katalog Primary_Key, Variablen tauschen, select-feld sperren

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • stefann
    Contao-Nutzer
    • 05.01.2011
    • 11

    #1

    Katalog Primary_Key, Variablen tauschen, select-feld sperren

    Hallo,

    ich habe mit dem catalog-Modul drei Kataloge erstellt die miteinander verknüpft sind.
    Sie sind bisher wie folgt aufgebaut.

    Personaldaten (Katalog 1)
    id (int, primary_key)
    PersonalNr (int)
    Name (varchar)
    AbteilungsNr (int)(id aus Katalog 2)
    ...

    Abteilungen (Katalog 2)
    id (int, primary_key)
    AbteilungsNr (int)
    AbteilungsName (varchar)

    Telefonliste (Katalog 3)
    id (int, primary_key)
    Name (int) (aus Katalog 1)
    AbteilungsNr (int) (aus Katalog 1)
    Telefon
    Email
    Fax
    ....


    Jetzt zu meinen Problemen:

    1) der Primary_key muss eigentlich die PersonalNr werden, da diese alle Personen eindeutig identifiziert und diese auch schon von Drittprogrammen erzeugt wurde (d.h. der Katalog Personaldaten wird per csv importiert.) Nur leider finde ich keine Möglichkeit den Primary_Key einem anderen Datenfeld zuzuordnen. Der bisherige PM_key wird automatisch vom catalog erzeugt(wie ihr sicherlich wisst).

    2) In der Telefonliste möchte ich nochmals die Abteilung darstellen. Das Problem: ich habe die Abteilung in den Personaldaten erfasst, dort steht jetzt die ID des Katalogs Abteilungen. Welches ja auch schon fast richtig ist, allerdings möchte ich in der Ausgabe der Telefonliste den Namen der Abteilung stehen haben.

    3) Um die Daten zu bearbeiten nutze ich das Modul: Katalog-Bearbeitung. Wenn ich allerdings die Telefonliste bearbeite möchte ich, dass das Select-Feld in dem der Name bzw. die Abteilung steht gespeert wird. Ich weiß, dass man dieses mit disabled=true im select feld machen kann, nur wie schreibe ich dieses in das tag?

    Gruß
    Stefan
  • MacKP
    Contao-Yoda
    • 15.06.2009
    • 13315

    #2
    Hallo stefann,
    zu 1 : warum soll der Key geändert werden? Verbinde die beiden Kataloge über die ID und nicht über den Key.

    zu 2 : in der Ausgabe musst du das dann eben von Hand machen (im Wiki beschrieben bei Templates anpassen vom catalog) oder per Related Modul (was nur auf der Detailseite geht).

    zu 3 : per DCA kann man auf Felder Einfluss nehmen, oder im Bearbeitungs-Modul kann man die Felder sperren und vorbelegen (ganz unten / ist im Wiki Beschrieben beim Beispiel mit Frontend-Editing und Workflow).

    Hoffe das hilft dir erst mal weiter.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

    Kommentar

    • stefann
      Contao-Nutzer
      • 05.01.2011
      • 11

      #3
      Hallo MacKP

      zu 1) das hatte den Hintergrund das die Telefonliste eigentlich nur mit der personalNr. aufgebaut werden soll, da diese auch schon als csv mit den Einträgen(Personalnr., Tel, Fax, email) vorliegt. So hätte man die Personalnr. dann mit der Tabelle Personaldaten welche ebenfalls die Personalnr. enthält verknüpft.

      zu 2) und wie mache ich so etwas von Hand? aus dem Wiki werde ich nicht schlau

      zu 3) auch hier versteh ich leider nicht wie ich mit der DCA Einfluss auf ein bestimmtes Feld in einem bestimmten Modul nehme.


      Ich habe aber noch eine weitere Frage

      In der Telefonliste (Katalog 3) soll der Name (int) (aus Katalog 1) anhand der AbteilungsNr (int) (aus Katalog 1) ausgewählt werden. Ich mache von beiden ein Feld vom Typ Auswahl. Wie sind jetzt die Filtereinträge zu setzen? Gibt es Beispiele für Filtereinträge? Ich habe es auch über die Optionsauswahl individualisieren versucht, doch vergeblich


      Gruß
      Stefan

      Kommentar

      • MacKP
        Contao-Yoda
        • 15.06.2009
        • 13315

        #4
        Hallo stefann,

        zu 1) Na, das kannst du ja. Dann eben einfach die Verbindung der Kataloge über das extra personalNr. Feld.

        zu 2) Ist hier beschrieben: http://de.contaowiki.org/Catalog_Tem..._referenzieren
        Der Link zum Forum bietet eventuell etwas mehr Erläuterung;-)

        zu 3) Eingeschränkte Felder sind das Stichwort: http://de.contaowiki.org/Catalog_mit...n#Katalog-Edit
        oder eben per dcaconfig:


        zu4) Ich glaub über Name oder Titel oder was auch immer wäre einfacher als über die Abteilungs Nr?
        Ich weiß nicht genau was man bei dir setzen muss, da ich deinen catalog nicht kenne...

        Allgemein vllt noch:
        Eventuell könnte man deine Kataloge besser etwas zusammenfassen? Die Verbindung von unterschiedlichen Katalogen ist nicht sehr einfach und für eher zu Problemen (wie du ja selber merkst). Könnte es vllt einfacher sein, die Telefonnummern bei der Abteilung selbst zu erfassen? Oder bei den Personen? Ich hab keine Ahnung wie deine Daten aussehen... Soll nur ein Denkanstoß sein, da es hier sehr wichtig ist die Grundlagen erst einmal passend zu haben um dann nicht in zu viele Probleme zu rennen.

        Viele Grüße
        Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
        [Arbeitet bei -> Paus Design & Medien]
        "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

        Kommentar

        • stefann
          Contao-Nutzer
          • 05.01.2011
          • 11

          #5
          Hallo MacKP,

          erst einmal Danke für diese schnell Rückantwort..

          zu 1-3 werde ich erst einmal ausprobieren was bei mir so möglich ist =) danke für die Links.

          zu 4)
          Die Kataloge sind mittlerweile zusammengefasst, dass ist gar nicht mehr das Thema =) wollte nur beim Beispiel bleiben!

          Für einen anderen Katalog der Daten von dem Katalog Personaldaten benötigt, möchte ich das aber so regeln, dass zuerst die Abteilung ausgewählt wird aus der Tabelle Personaldaten, danach soll ein zweites Select Menü gezeigt werden, dass ausschließlich die Namen in der Liste zeigt die in dieser ausgewählten Abteilung zufinden sind.

          Über den Efg habe ich so etwas schon sehr oft Problemlos hinbekommen mit
          personaldaten.Abteilung={{form::Abteilung}}...

          Das funktioniert hier im katalog so aber leider nicht! Gibt es da eine Lösung?

          Kommentar

          • MacKP
            Contao-Yoda
            • 15.06.2009
            • 13315

            #6
            Hallo stefann,
            im Frontend ist sowas ähnliches bei den Filtern möglich. Im Backend könnte man sowas mit abhängigen Feldern regeln... nicht elegant aber machbar glaube ich.
            1. Ebene macht man dann mit einzelnen Checkbox Feldern.
            Je nach dem was angekreuzt wird, bekommt man dann die eingeschränkte Auswahl.
            Ist allerdings nen Haufen Arbeit, da du für jedes ein Checkbox und ein Auswahl Feld anlegen musst.
            Eventuell dann doch eher alles Auswählen lassen können?

            Ansonsten wäre das auf jeden Fall ein feature Request wert im catalog Ticket System. Wenn du magst kannst das da gerne einbringen.

            Viele Grüße
            Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
            [Arbeitet bei -> Paus Design & Medien]
            "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

            Kommentar

            Lädt...