[Frage] [HILFE] Bei Programmierung eigener kleiner Extension TYPO3-Version: 8.7.8

  • livedesign24 livedesig...
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    19. 10. 2017, 13:30

    Hallo zusammen,

    ich bin neu in der TYPO3-Community und bin aufgrund eines internen IT-Projektes erst in die TYPO3-Welt gelangt.

    Um unsere Anforderungen abzubilden, habe ich mit dem Extension Builder mir eine passende kleine Extension gebastelt. Diese beinhaltet ein Model für "Kunde" und ein Model für "Projekt", die in einer 1:N-Beziehung (Kundenprojekt) stehen.

    Mittlerweile habe ich es hinbekommen, in der Kunde Show.html die Projekte des jeweiligen Kunden anzeigen zu lassen mit

    [code]<f:for each="{kunde.kundenprojekt}" as="projekt">[/code]

    Auch habe ich es hinbekommen, dass ich das "crdate" mit folgendem Codeschnippsel ausgegeben konnte:

    [code]/**
    * crdate
    *
    * @var string
    */
    protected $crdate;

    /**
    * Returns the crdate
    *
    * @return string $crdate
    */
    public function getCrdate() {
    return $this->crdate;
    }

    /**
    * Sets the crdate
    *
    * @param string $crdate
    * @return void
    */
    public function setCrdate($crdate) {
    $this->crdate = $crdate;
    }
    [/code]

    Nun stehe ich vor zwei Problemen:

    1. Problem: Neues Projekt, schon in der Show.html und List.html vom Kunden
    Ist es möglich, in den oben genannten Dateien schon eine Verlinkung zu schaffen, um ein Projekt für diesen Kunden einzutragen? Ich habe es wie folgt versucht:

    [code]<f:link.action action="new" controller="Projekt" arguments="{projekt : projekt}">[/code]

    2. Problem: Füllen von der Auswahlliste
    In der Extension habe ich einige Formularfelder als "Select-List" deklariert, wie kann ich diese mit Werten füllen? Optimal wäre es, wenn sich diese Select-List an dem Ordner "FE-Users" orientiert und sich die dortigen Namen rauszieht. Alternativ kann ich diese Namen aber auch fest vergeben, wenn dies einfacher / schneller ist.

    NACHTRAG zu 2. Habe es nun hinbekommen, dass man eine Verknüpfung zur FE-Users hat. Im Backend funktioniert das wunderbar, im Frontend habe ich aber leider nach wie vor eine Textbox, wie kann ich da auch die Select-List anzeigen lassen? Zusätzlich zeigt er mir als Ausgabe nun die User-ID an, kann man das auf den Namen ändern?

    Ich bedanke mich für die Hilfe :)

    Viele Grüße


  • 1
  • pstranghoener pstrangho...
    Die Macht
    0 x
    530 Beiträge
    24 Hilfreiche Beiträge
    20. 10. 2017, 09:49

    Hi,

    kannst du sagen, wie genau du das gemacht hast? Dann könnte man sich das genauer ansehen :)

    Viele Grüße und weiterhin viel Erfolg!
    Philipp

  • livedesign24 livedesig...
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    23. 10. 2017, 09:26

    Zitiert von: pstranghoener
    Hi,

    kannst du sagen, wie genau du das gemacht hast? Dann könnte man sich das genauer ansehen :)

    Viele Grüße und weiterhin viel Erfolg!
    Philipp

    Moin Philipp,

    bezieht sich wahrscheinlich auf Punkt 2?

    Das habe ich im TCA wie folgt umgesetzt:

    [code]'frontend_user' => [
    'exclude' => true,
    'label' => 'FE_User',
    'config' => [
    'type' => 'select',
    'renderType' => 'selectMultipleSideBySide',
    'items' => [
    ['Bitte Benutzer auswählen', '--div--']
    ],
    'foreign_table' => 'fe_users',
    'foreign_table_where' => 'AND fe_users.usergroup=1 ORDER BY first_name',
    'size' => 1,
    'maxitems' => 1,
    'eval' => ''
    ],
    ],
    [/code]

    Habe ja nun auch zwei Listen, einmal die mit den Kunden und einmal die mit den Projekten. Wenn ich in der Kundenliste nun einen Datensatz im Frontend auswähle, gelange ich in die Show.html mit den Details. Dort wird mir nun die zweite Liste mit den dazugehörigen Projekten angezeigt. Wenn ich nun einen Datensatz der Projektliste anklicke, gelange ich dort in die Show.html. Leider sind dann aber die Informationen zu meinem Kunden weg, kann ich von da aus auch auf die Informationen zugreifen?

    Besten Dank.

  • 1