Links -> URL umbenennen

Hallo,

im Back-End unter Kundeninformationen -> Links möchte ich die “URL” umbenennen damit es “schön” aussieht, bzw. sie nicht zu lang ist.

Beispiel:

  [http://www.externerlink.de/folder/folder_2/folder_3/sub_1/beispiel.pdf]

in

  [link zum lesen (PDF)]

umbenennen

Über die Suche/Google bin ich nur auf eine Variante mit @substr gestoßen, die passt mir nicht, da ich damit die URL nicht frei benennen kann. Leider kenn ich mich mit smarty/php/mysql/html nicht gut genug aus :frowning: Nun brauche ich bitte Hilfe.

Shopversion: CE 4.6.2_46646
Datei: links.tpl
Datenbank: oxlinks
Testserver lokal (XAMPP)

[{capture append="oxidBlock_content"}]
    [{assign var="template_title" value="PAGE_INFO_LINKS_LINKS"|oxmultilangassign}]
    <h1 class="pageHead">[{ oxmultilang ident="PAGE_INFO_LINKS_LINKS" }]</h1>
       [{foreach from=$oView->getLinksList() item=link name=linksList}]
        <h3>
            <span>[{ $link->oxlinks__oxinsert->value|date_format:"%d.%m.%Y" }] - </span> <a href="[{ $link->oxlinks__oxurl->value }]" target= "_blank">[{ $link->oxlinks__oxurl->value }]</a>
        </h3>
        <div>[{ $link->oxlinks__oxurldesc->value }]</div>
    [{/foreach}]
    [{ insert name="oxid_tracker" title=$template_title }]
[{/capture}]

[{include file="layout/page.tpl" sidebar="Left"}]

Ich hoffte mein Problem sei einfach gelöst wenn ich den rot markierten Code auf die OXURLDESC_1 Zelle (oxlinks db) setze (angenommen dann funktioniert in OXURLDESC_1 eingetragener HTML-Code auch wie er es in OXURLDESC tut).

<a href="[{ $link->oxlinks__oxurl->value }]" target= "_blank">[{ $link->oxlinks__oxurldesc_1->value }]</a>

Klappt nur leider nicht.

Ein “funktionierender” Workaround ist:

<h3>
<span>[{ $link->oxlinks__oxinsert->value|date_format:"%d.%m.%Y" }] - </span> [{ $link->oxlinks__oxurldesc->value }]
</h3>
<div>[{ $link->oxlinks__oxurl->value }]</div>

wenn ich den Bezug vertausche.

Dies ist jedoch sehr unpraktisch, da es im Back-End bei der gleichbleibenden Beschreibung zu Verwirrung kommt:
bei “URL” muss nun die Beschreibung rein (kleines Feld) und bei der Beschreibung (großes Feld) die URL als HTML-Code.

Aus Interesse habe ich die Spalte OXURL in der Datenbank in Text gewandeln, dann ist die Beschreibungseingabe in der Datenbank übersichtlicher, jedoch nicht zielführend, da es ja über das Back-End eingetragen werden soll, hierbei stellte ich fest: HTML-Code in der Zelle/Spalte OXURL(in der Datenbank) funktionierte noch immer nicht.

Soweit ich das verstehe benötige ich bitte Anleitung um auf eine neue HTML fähige Zelle/Spalte in der Datenbank zu verlinken oder die Spalte OXURL HTML-Code fähig zu machen. :confused:
Gerne auch etwas anderes.

Vielen Dank

Lange gesucht, viel “trial and error” und endlich gefunden; leider neues Problem.

In oxlinks.php:

protected function _setFieldData( $sFieldName, $sValue, $iDataType = oxField::T_TEXT)
    {
        if ('oxurldesc' === strtolower($sFieldName) || 'oxlinks__oxurldesc' === strtolower($sFieldName)) {
            $iDataType = oxField::T_RAW;
        }

        return parent::_setFieldData($sFieldName, $sValue, $iDataType);
    }

habe ich T_TEXT durch T_RAW ersetzt, hatte keinen Dunst wofür T_TEXT und T_RAW stehen, vermutet es sind Typen für die Daten (PHP laut filetype(?)) und es klappte. Nun weiß ich leider auch warum das URL Eingabefeld im Back-End kein HTML zuließ, wenn ich nun auf den Link in der Link-Übersicht (im Back-End) klicke um ihn zu bearbeiten schickt er mich direkt auf die verlinkte Seite :rolleyes: - umgehen kann ich das erstmal durch das klicken auf das Eingabedatum um einen Link auszuwählen.

Denkbar wäre es doch in den entsprechenden admin.tpl/.css Daten ein extra Eingabefeld im Back-End unter URL namens “Alias” zu erstellen welches dann mit einer Zelle in der oxlinks Datenbank (eventuell neue Spalte erstellen?) verbunden ist um einen URL-Alias einzugeben statt mit HTML-Code in dem URL Eingabefeld einen Link zu erstellen.

Erstelle ich dazu eigene neue .tpl Dateien oder “pfusche” ich weiter in den vorhandenen Dateien herum? Ein Update ist meines Wissens nach nicht mehr geplant, könnte mir aber einen Strich durch die Rechnung machen.

Sowas könnte ich als Plugin konzipieren, kann das sein? Habe leider kaum Erfahrungen mit “coden”, alles noch sehr komplex und verwirrend… “learning by doing”:o. Gibt es vielleicht eine elegantere Lösung?