verlinkte Profilfelder

  • Was ist da falsch? Und wie kann ich es über das Formular setzen, anstatt darunter?

    und mir ein override von com_contact/views/contact/view.html.php erstellt

    Grundlegend falsch ist, dass das eine Joomla-Core-Datei ist, die man nicht "overriden" darf. Mit jedem Joomla-Update kann die Änderung dieser Datei wieder überschrieben werden. Wenn du sie dann blind wieder austauscht, ohne bspw. hinzugekommene Sicherheits-Fixes oder Bug-Fixes zu berücksichtigen, geht das schnell in die Hose.


    Grobe Regel: Overriden darf man nur Dateien, die sich in Ordnern /tmpl/ befinden oder /layouts/ bzw. Overrides, die bereits im Template-UnterOrdner /html/ angelegt wurden.


    Und "overriden" bedeutet dabei immer, dass die Joomla-Originaldateien in den /html/-Ordner des Template bzw. Unterordner dieses Ordner kopiert werden, damit sie Joomla dann von selbst dort findet. Eine view.html.php ist immer falsch.

  • Wie nicht overriden darf? Ich habe die datei ja nach /html kopiert. Welche datei wäre dann die richtige? Ich wollte es halt mit einen override lösen, damit ich auch Profile verlink,en kann für die es eine Erweiterung gibt, wie z.B. für Steam. Oder ist das so nicht machbar?

  • Das wäre mir neu, dass man eine Datei com_contact/views/contact/view.html.php durch verschieben in /html/ overriden kann, also, dass Joomla die dann berücksichtigt.


    Du findest die regulär überschreibbaren Datein für den Einzelkontakt unter

    /components/com_contact/views/contact/tmpl/


    und die gehören dann (am Bsp. default.php) nach

    /templates/DEINTEMPLATENAME/html/com_contact/conact/default.php


    Und der Rest ist recht kompliziert zu beurteilen.

    1) Wo kommt der Facebooklink her? Du hast ein eigenes Feld für Kontakte angelegt, wo der eingetragen wird? Nicht etwa ein Feld für den verknüpften Joomla-User (2 Paar Stiefel).

    2) Du willst alle Felder verlinken, die mit http anfangen oder einzig und allein nur das Facebook-Feld? Dann benötige ich den Namen (nicht Titel oder so) des Feldes.

    3) Steam, was ist das? Ich dachte es geht um einen FB-Link.

    4)

    Und wie kann ich es über das Formular setzen, anstatt darunter?

    Da es im Kontakt mehrere Möglichkeiten gibt, was du mit "darunter/darüber" meinen könntest, hängt ja auch davon ab, was du unter "Anzeigeformat" eingestellt hast. Die Kontaktseite besteht aus vielen Blöcken. Müsste man schon sehen oder einen Screenshot bekommen, wo genau du die Felder einfügen willst.


    Der grundlegende Startcode, FALLS ES SICH UM KONTAKTFELDER HANDELT, z.B, im Kopf der default-php nach Zeile

    Code
    1. $tparams = $this->item->params;

    wäre schon mal der

    Danach muss man sich um die Ausgabe kömmern. Keine Ahnung, wo....

  • Alles zurück. Du arbeitest mit Benutzerfeldern. Hatte deinen Link "Facebook-Feld" oben nicht geklickt, weil ich nicht auf FB landen wollte ;-)


    Also nach Zeile in default.php

    Code
    1. $tparams = $this->item->params;

    diesen code. Verlinkt alle Benutzer-Felder, die mit "http" beginnen.

    Geht hübscher. Wurst.


    Und dann verschiebst diese Zeilen an die Wunschposition in der default.php:


    https://github.com/joomla/joom…mpl/default.php#L220-L222

  • Zitat

    Du findest die regulär überschreibbaren Datein für den Einzelkontakt unter

    /components/com_contact/views/contact/tmpl/

    Das heisst, immer wenn ich eine Komponente overriden will, muss ich einen /tmpl bzw. /layouts oder suchen?


    Ich versuche nochmal genauer zu beschreiben was ich will. Ich möchte Felder anlegen die einen festen Link enthalten. z.B. gerade das Facebook-Feld soll dann so aussehen http://www.facebook.com/Feldwert