SelectBox mit vielen DS

  • schittl schittl
    R2-D2
    0 x
    92 Beiträge
    0 Hilfreiche Beiträge
    29. 09. 2011, 16:28

    Hallo,

    habe folgendes Problem. Bastele gerade an einer eigenen Extension und da habe ich kleine Probleme im Backend. Dabei handelt es sich dabei vermutlich um die SelectBox. Meine grobe Struktur:

    - Kunden
    - Adresse

    Dabei möchte ich in der Kundenmaske eine Adressauswahlbox anzeigen. Folgendes habe dazu im TCA hinterlegt:

    1. 'adresse' => array (
    2. 'exclude' => 1,
    3. 'label' => 'LLL:EXT:kunden/locallang_db.xml:tx_kunden.adresse',
    4. 'config' => array (
    5. 'type' => 'select',
    6. 'foreign_table' => 'adresse',
    7. 'foreign_table_where' => 'AND adresse.pid='.$confArr['adresse_pid'].' AND adresse.addressgroup='.$confArr['kunden_address_typ'].' ORDER BY adresse.last_name',
    8. 'iconsInOptionTags' => 1,
    9. 'noIconsBelowSelect' => 1,
    10. 'maxitems' => 1,
    11. )
    12. ),

    Alles soweit so gut. Nur habe ich aber ca. 40000 DS in der Tabelle "adresse".:o Das macht es ja unmöglich den Select zu generieren. Nun meine Frage:

    Gibt es ne andere Möglichkeit das anders auswählbar zu gestalten oder eventuell etwas zu cachen. Wäre für jede Idee dankbar.

    mfg
    schittl


  • 1
  • maxhb maxhb
    Flash Gordon
    0 x
    2148 Beiträge
    0 Hilfreiche Beiträge
    29. 09. 2011, 17:35

    Hi!
    Wenn du Kunden und Adressen als verschiedene Elemente (also Tabellen) definiert hast, dann kannst Du die Relation zwischen beiden als DB-Relation modellieren. Im Backend hat man dann die Möglichkeit für einen Kunden Adressen auszuwählen, ähnlich wie dies bei dem Dateiauswahldialog im fileadmin möglich ist.

    Hier mal ein kleienr Auszug aus einer eigenen Extension (TCA.php), die zwischen einer Tabelle für Urteile eine Verknüpfung zu einer Tabelle mit Aktenzeichen erstellt:

    1. 'aktenzeichen' => array (
    2. 'exclude' => 0,
    3. 'label' => 'LLL:EXT:qcom_bfh_urteile/locallang_db.xml:tx_qcombfhurteile_urteile.aktenzeichen',
    4. 'config' => array (
    5. 'type' => 'select',
    6. 'foreign_table' => 'tx_qcombfhurteile_aktenzeichen',
    7. 'foreign_table_where' => 'ORDER BY tx_qcombfhurteile_aktenzeichen.aktenzeichen',
    8. 'size' => 10,
    9. 'minitems' => 0,
    10. 'maxitems' => 99,
    11. 'wizards' => array(
    12. '_PADDING' => 2,
    13. '_VERTICAL' => 1,
    14. 'add' => array(
    15. 'type' => 'script',
    16. 'title' => 'Create new record',
    17. 'icon' => 'add.gif',
    18. 'params' => array(
    19. 'table' => 'tx_qcombfhurteile_aktenzeichen',
    20. 'pid' => '###CURRENT_PID###',
    21. 'setValue' => 'prepend'
    22. ),
    23. 'script' => 'wizard_add.php',
    24. ),
    25. ),
    26. )

    CU
    maxhb

  • schittl schittl
    R2-D2
    0 x
    92 Beiträge
    0 Hilfreiche Beiträge
    30. 09. 2011, 11:31

    Danke. Dauert nur noch 30 Sekunden. :)

    Gibt es noch andere Möglichkeiten. Cachen bzw. nachladen(Limit)?

  • 1