Weiterleitung zu dem passenden Bearbeitungs-Modulen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • typoburns
    Contao-Nutzer
    • 05.05.2010
    • 77

    #1

    Weiterleitung zu dem passenden Bearbeitungs-Modulen

    Hallo.

    Habe im meinem Katalog verschiedene Eintrags-Arten. Häuser, Wohnungen, Ferienhäuser. Würde gerne erreichen, dass bei Eintragsbearbeitung (Link="Die Details des Eintrags Bearbeiten") übers FE zu passenen Edit-Modulen weitergeleitet wird, da die Feldtypen für jede Item-Art (Häuser,......) anders sind. Geht das so einfach, wie es klingt?

    Danke im Vorraus
    Zuletzt geändert von typoburns; 09.11.2010, 08:40.
  • MacKP
    Contao-Yoda
    • 15.06.2009
    • 13315

    #2
    Hallo typoburns,
    entweder du machst das wie in meinem Tutorial beschrieben mit verschiedenen Listen und von dort dann die Weiterleitung...
    Oder du baust den Link von Hand zusammen und machst dabei eine Unterscheidung per ifelse oder case, wo du dann die passende Seite drüber ansprichst.

    Also alles ganz einfach.

    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

    • typoburns
      Contao-Nutzer
      • 05.05.2010
      • 77

      #3
      Danke für deine Antwort, MacKP!
      Wie meinst du das mit dem Link von Hand zusammenbauen? Hab mal geschaut, wo der Link "Details des Eintrags bearbeiten" generiert wird. Hab dazu einiges in der ModuleCatalog.php gefunden. Du sagst, das ist easy für mich sieht das kompliziert aus. Hab noch überhaup keinen Ansatz, wo ich dort ne if , ifelse Anweisung einbauen könnte. Oder denk ich zu kompliziert? ?! Nicht falsch verstehen, möchte keine von dir gebaute Lösung, nur deinen Gedankengang nachvollziehen Mein PHP können ist = 0. Mache das ganze hier nur in meiner Freizeit

      So, hier erstmal meine ifelse Anweisung...vielleicht könntest mal kurz drüber schauen. Würde sie so funktionieren?

      <?php if($entry['data']['immo_art']['value'] == "Haus"):?>
      <a href="XXX" </a>
      <?php elseif($entry['data']['immo_art']['value'] == "Wohnung"):?>
      <a href="YYY" </a>
      <?php elseif($entry['data']['immo_art']['value'] == "Ferienhaus"):?>
      <a href="ZZZ" </a>
      <?php endif;?>

      Danke

      Kommentar

      • MacKP
        Contao-Yoda
        • 15.06.2009
        • 13315

        #4
        Hallo typoburns,
        das ist alles einfach nur Arbeiten im Template. Du brauchst dafür auf keinen Fall in eine .php Datei schauen oder gar dort was ändern.
        Schau dir das Tutorial von mir im Wiki an zum Template bearbeiten vom catalog... da steht im Grunde alles wichtige.

        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

        • typoburns
          Contao-Nutzer
          • 05.05.2010
          • 77

          #5
          Hallo MacKP,
          das ich nicht in der einer .php suchen muss ist schon mal eine Aussage, die mir weiter hilft Hab jetzt mal im Template catalog_simpletable.tpl geschaut und bekomme es (immerhin) hin, dass der Link "Die Details des Eintrags bearbeiten" in Abhängigkeit von gewissen if ifelse Bedingungen angezeigt wird oder auch nicht. Für mich ein großer Schritt!! Was mit überhaupt nicht einleuchtet ist, wie ich den Link korrekt anpasse, da der für jedes Item, irgendwo im Hintergrund, generiert wird. Dein TUT bringt mich da leider auch nicht weiter.
          Im Template sieht das ja im originalem so aus:
          <?php if ($entry['linkEdit']): ?>
          <td class="edit"><div class="linkEdit"><?php echo $entry['linkEdit']; ?>
          <?php endif; ?>

          der genierierte HTML Code dazu so:

          <td class="edit"><div class="linkEdit"><a href="XXX/items/XXX" title="Die Details des Eintrags bearbeiten">Die Details des Eintrags bearbeiten</a>

          und dazu eine passende Array-Ausgabe:

          Array
          (
          [id] => 132
          [catalog_name] => Immobilien
          [parentJumpTo] => 8
          [tablename] => KATALOG_Immobilien
          [showLink] => 1
          [class] => even
          [link] => Die Details des Eintrags ansehen
          [url] => immmo_details/items/XXX
          [linkEdit] => Die Details des Eintrags bearbeiten
          [urlEdit] => immo-bearbeiten/items/XXX
          [data] => Array

          Vielleicht könntest du mir nochmal ein bissl auf die Sprünge helfen. DANKE!!!

          VG
          Zuletzt geändert von typoburns; 10.11.2010, 22:20.

          Kommentar

          • MacKP
            Contao-Yoda
            • 15.06.2009
            • 13315

            #6
            Hallo typoburns,
            das sollte so ca. so sein:

            Code:
            <?php if ($entry['linkEdit']): ?>
            <td class="edit"><div class="linkEdit"><a href="linkzuderseite<?php echo $entry['data']['id']; ?>">Editieren</a>
            <?php endif; ?>
            Der Link ist also komplett von Hand aufgebaut. Nur die ID oder der Alias wird dynamisch generiert. Dann brauchst du dazu nur noch eine Abfrage da drumm bauen um welche Art es sich Handelt und den Link jeweil anpassen. Diese Teile kann man aber aus deinem Array was du gepostet hast nicht erkennen... Da musst du bei dir also noch ein wenig rumsuchen.

            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

            • typoburns
              Contao-Nutzer
              • 05.05.2010
              • 77

              #7
              Hallo MacKP.
              vielen Dank für dein PHP-Code. Konnte dadurch einiges lernen.
              Die Umleitungen auf die passenden Edit-Modul Seiten, zum Bearbeiten eines bereits angelegten Items, funktionieren mittlerweile auch! Allerdings haben die Edit-Seiten jetzt keinen Inhalt beim originalem Template ist alles i.O.

              Zunächst mal mein PHP-Code mit den if elseif-Anweisungen:
              PHP-Code:
              <?php if ($entry['linkEdit']): ?>
              <?php if ($entry['data']['immo_art']['value'] == "Wohnung"):?>
                  <td class="edit"><div class="linkEdit"><a href="wohnung-bearbeiten"<?php echo $entry['data']['id'];?>>Editieren</a></td>
              <?php elseif ($entry['data']['immo_art']['value'] == "Haus"):?> 
                  <td class="edit"><div class="linkEdit"><a href="haus-bearbeiten"<?php echo $entry['data']['id'];?>>Editieren</a></td>
              <?php elseif ($entry['data']['immo_art']['value'] == "Ferienwohnung"):?>
                  <td class="edit"><div class="linkEdit"><a href="ferienwohnung-bearbeiten"<?php echo $entry['data']['id'];?>>Editieren</a></td>
              <?php endif; ?>
              <?php endif; ?>
              Ist da irgendwo der Fehlerteufel drin oder ist generell etwas nicht beachtet worden?

              Danke und VG

              Kommentar

              • MacKP
                Contao-Yoda
                • 15.06.2009
                • 13315

                #8
                Hallo typoburns,
                ich weiß jeztt gerade nicht ob du die ID von den inzelnen Items so überhaupt bekommst. Das musst du selber nachschauen (wie steht ja wie gesagt im Wiki).
                Aber was ich dir sofort sagen kann, ist das deine Links nicht stimmen. Guck dir auf jeden Fall die Originallinks an wie die aussehen. Die musst du nachbauen.
                Und die ID sollte innerhalb des href stehen (also mal auf die " achten).

                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

                • typoburns
                  Contao-Nutzer
                  • 05.05.2010
                  • 77

                  #9
                  Hallo MacKP
                  so habe jetzt geschaut, die Ids der Items sind vorhanden! Habe jetzt folgendes versucht:

                  PHP-Code:
                  <?php if ($entry['data']['immo_art']['value'] == "Haus"):?>
                      <td class="edit"><div class="linkEdit"><a href="haus-bearbeiten/items/<?php echo $entry['data']['id']; ?>">Editieren</a></td>
                  Das Ergebnis ist noch immer so, dass die Id des Items nicht hinter dem Link eingefügt wird. Trage ich die ID mit Hand in den Link nach, passt es! Oder habe ich grundsätlich was falsch verstanden, hinsichtlich des Nachbauens von den "originalen" Links?!

                  Vielen Dank

                  Kommentar

                  • typoburns
                    Contao-Nutzer
                    • 05.05.2010
                    • 77

                    #10
                    Hallo MacKP,

                    habe das Problem gelöst.

                    Nochmals vielen Dank für deine Unterstützung!
                    VG

                    Kommentar

                    • WebCMS
                      Contao-Nutzer
                      • 13.08.2009
                      • 79

                      #11
                      Hallo typoburns,

                      wie hast Du es denn nun gelöst? Teilst Du uns Deine Lösung mit?

                      Gruß, WebCMS

                      Kommentar

                      Lädt...