Send private message

You must be logged in to send a private message.

Friends

No friends yet.

Group membership

Activity

  • fmalik replied on the discussion topic Core Dateien bearbeiten? Nein! Override? Wie? :(
    Vielen Dank für deine Antwort! Das habe ich mir fast schon gedacht, dass hier nicht so viele sind - wobei aber die gesamte Community auch nicht so riesig groß ist! Nun denn,in diesem Fall wäre es ja - wenn mich nicht alles... view reply
  • fmalik commented on a page titled Milestone Elgg 1.9.0
    Seltsam :DJa, eher per Zufall!
  • fmalik commented on a page titled Milestone Elgg 1.9.0
    Kann es sein, dass du in den falschen Thread geantwortet hast? ;-)
  • fmalik replied on the discussion topic Core Dateien bearbeiten? Nein! Override? Wie? :(
    Ist die Community schon nicht mehr lebendig? :-( view reply
  • fmalik added a new discussion topic Core Dateien bearbeiten? Nein! Override? Wie? :( in the group German Support Group
    Hallo,   ich bin hier noch ganz neu. Ich habe eine lokale Elgg Installation und bin auf dem besten Wege diese bald online zu stellen. Bisher hatte ich immer das Glück, dass ich Plugins für Dinge gefunden habe, die ich machen...
    • Die deutsche Fraktion der Community ist nicht ganz tot aber halt sehr klein...

      "Override" funktioniert nur bei Views. Im Prinzip kannst Du eine View überschreiben, indem Du innerhalb eines anderen Plugins die gleiche View (gleicher Name und gleiche Position innerhalb des View-Verzeichnisses) verwendest. Im Prinzip mußt Du also Dein eigenes kleines Plugin entwickeln, dass die View ersetzt, die nicht Deinen Anforderungen entspricht. "Override" ersetzt eine View vollständig. Die andere Möglichkeit ist, die View zu erweitern, d.h. der Code Deiner View wird an die andere View angehängt (das ist der Standard, es ist aber auch möglich, dass der neue Code vor dem anderen Code eingefügt wird). Um eine View zu erweitern, mußt Du die zu erweiternde View und die Deine View mit Hilfe der Funktion elgg_extend_view definieren (in der init-Funktion in start.php).

      Falls Du Änderungen in anderen Dateien als Views vornehmen willst (Actions, start.php, libraries), mußt Du wohl oder über Deine eigene Kopie dieses Plugins schreiben. Du kannst mit dem Code des originalen Plugins beginnen und dann den Code anpassen, wo es notwendig ist (z.B. Ändern von Funktionsnamen ensprechend Deinem Plugin) und dann schlußendlich den Teil des Codes im Plugin anpassen, der nicht Deinen Anforderungen entspricht.

    • Vielen Dank für deine Antwort!

      Das habe ich mir fast schon gedacht, dass hier nicht so viele sind - wobei aber die gesamte Community auch nicht so riesig groß ist!

      Nun denn,
      in diesem Fall wäre es ja - wenn mich nicht alles täuscht - eine View und genau die perfekte Aufgabe dafür.

      Muss ich aber tatsächlich auch die gesamte "Struktur" eines Plugins übernehmen (start.php, die xml-Dateien etc.)? Also nicht einfach mal kurz einen Ordner und eine Kopie erstellt, die nötigen Änderungen vorgenommen, in den Mod Ordner verschoben und fertig is?

    • Der Minimalumfang eines Elgg-Plugins ist eine start.php (und die darin enthaltenen Init-Funktion) und die Pluginbeschreibung (manifest.xml). Die Init-Funktion mußt Du umbenennen (darf nicht zweimal gleich heißen) und die manifest.xml mußt Du auch anpassen (Pluginname etc.).

      Wenn Du nur eine View ersetzen willst, kann die Init-Funktion durchaus nur aus dem Funktionsheader bestehen, aber sie muss vorhanden sein.

      start.php beispielsweise so:

      <?php

      elgg_register_event_handler('init', 'system', 'hide_all_tab_init');

      function hide_all_tab_init() {

      }

      Der Link, den Du in Deinem ersten Posting angegeben hast, verweist auf eine Anleitung, die inzwischen veraltet ist, d.h. in Elgg 1.8 wirst Du die angegebenen Dateien nicht mehr finden. Stattdessen sollte der Code in /views/default/page/layouts/content/filter.php zu finden sein (nicht selbst ausprobiert). In Deinem Plugin mußt Du also neben start.php und manifest.xml auch noch eine Kopie dieser View übernehmen. Die Kopie muss in die folgende Unterorderstruktur: mod/hide_all_tab//views/default/page/layouts/content/filter.php (unter der Annahme dass Du Dein Plugin "mide_all_tab" nennst). In der Kopie ist dann das 'all'-Element im Array zu entfernen.

  • fmalik joined the group German Support Group