Beiträge von www.HDsports.at

    Hallo Leute,
    ich möchte in den Metakey meines Content Wörter hinzufügen, die momentan über eine andere Komponente dem Content zugordnet ist. Dafür suche ich den passenden SQL Befehl


    2 Tabellen sind daran beteilgt


    XX_custom_properties
    EInzig wichtig ist da die "value_id". Folgende habe ich:
    value_id 58
    value_id 59
    value_id 60
    value_id 61
    value_id 62
    value_id 63
    value_id 64
    value_id 65
    value_id 66
    value_id 67
    value_id 73
    value_id 74


    In dieser Tabelle ist pro Zeile einer value_id einer contend_id zugeordnet. Wobei auch mehrere value_id einer content_id zugordnet sein können (aber natürlich nur pro Zeile ein Befehl)


    Tabelle zwei ist natürlich XX_content
    Die Spalte ist metakey
    In diese sollten die value_ids übertragen werden, die der contend_id zugordnet sind.
    Da allerdings schon metakey eingetragen sind, sollten sie am Ende der Metakey drangehängt werden, also ", value_id"


    Also sagen wir der Artikel mit der contend_id 2500 hat in den xx_custom_properties zwei einträge, denen die value_id 59 und 66 zugeordnet ist.
    Die bisherige Metakey lautet "Wort1, Wort2". dann sollte im feld metekay folgendes stehen "Text1, Text2, 59, 66"


    Eigentlich sollte das mit einem SQL Befehl möglich sein, leider reichen meine Kenntnisse nicht um das zu lösen. Ich nehme aber an das man für jede value_id einen Befehl braucht, der quasi so lautet


    WENN content id 1 ist die value_id 58 zugeordnet, dann füge zur Metaky von contend id 1 folgenden Text hinzu: ", 58"


    Der nächste Befehl
    WENN contend id 1 ist die value_id 59 zugeordnet, dann füge zur Metakey von contend_id 1 folgenden Text hinzu: ", 59"


    Die Contend_ID sollte natürlich nicht manuell eingegeben werden, sondern der Befehl alle content-Einträge durchgehen.

    sorry, aber das geht nicht.
    ich habe ein multiple select feld mit ca 15 auswahl optionen.
    ich kann pro beitrag 0 - 15 davon auswählen.
    Dann müsste ich laut deinem Beispiel 15 Custom Fields anlegen, was ebenfalls keinen Sinn macht. Denn theoretisch könnten ja auch alle 15 Optionen auf einen Beitrag zutreffen.


    Mir ist schon ein 2. Feld zu viel. Das Custom Field soll mir ja den Aufwand reduzieren und nicht erhöhen. Und bei 2 oder mehr custom fields erhöht es mir den Aufwand.

    Das ist allerdings eine sehr unfeine Lösung. Ich dachte ich könnte das im Link direkt ermöglichen.
    ich kann ja z.B. auch nur nach Kategorien suchen

    Code
    https://www.hdsports.at/suche?searchword=Tirol&ordering=newest&searchphrase=all&areas%5B0%5D=categories


    Selbiges sollte ja mit CustomFields möglich sein. ist es wohl nicht. Schade, hätte mir mehr von dem Feature erwartet.
    Ein 2. Feld möchte ich beim besten Willen nicht. Zumal ich quasi bei jedem Artikel dann auch zwei mal die Auswahl treffen muss


    Zudem löst es auch nicht das Problem, das bei mehreren ausgewählten Optionen alle auf einmal verlinkt sind.

    okay wir kommen der sache ein stück näher.
    ich habe nun folgenden code

    PHP
    <?php if (!empty($this->item->jcfields[1]->value)) : ?> Region: <a href="/suche?searchword=<?php echo $this->item->jcfields[1]->value; ?>&searchphrase=all&option=com_search"><?php echo $this->item->jcfields[1]->value; ?></a> <?php endif; ?>


    Das zweite Feld habe ich entfernt, weil ich nicht ganz verstehe für was das gut sein soll.


    Allerdings hat die Sache noch einen gewaltigen Hacken. Da es ein Multiple Field ist, werden in dem Fall bei zwei ausgewählten Optionen natürlich beide als eines verlinkt. Natürlich sollte jede Auswahl einzeln verlinkt sein.


    Ein Beispiel:
    https://www.hdsports.at/winter/drei-zinnen-ski-raid-2018


    Unter dem Artikel habe ich die aktuelle Verlinkung

    Code
    https://www.hdsports.at/suche?searchword=Tirol, Italien&searchphrase=all&option=com_search


    Korrekt wäre allerdings
    Für Tirol: https://www.hdsports.at/suche?…ase=all&option=com_search
    Für Italien: https://www.hdsports.at/suche?…ase=all&option=com_search


    Zudem möchte ich natürlich, das nicht der Content selbst durchsucht wird, sondern nur der Custom-Field Bereich. D.h. Wenn ich auf Tirol klicke, sollten mir nur Artikel zugeordnet werden, denen das Custom Field "Tirol" zugeordnet ist. Aktuell werden ja alle Beiträge angezeigt, in denen das Wort Tirol vorkommen würde.


    Danke, leider bin ich nicht erfolgreich
    /templates/purity_iii/html/com_content/article/default.php
    geöffnet


    Unter

    Code
    <!-- //Article -->


    folgendes eingefügt

    PHP
    <?php if (!empty($this->item->jcfields[regionsuche]->value)) : ?>
            <a href="index.php?searchword=<?php echo $this->item->jcfields[regionsuche]->value; ?>&searchphrase=all&option=com_search"><?php echo $this->item->jcfields[region]->value; ?></a>
        <?php endif; ?>


    Leider wird nichts ausgegeben im Frontend

    Da deine Seite, wenn ich mich recht entsinne, ja ohnehin schon immer mit Performance-Problemen zu kämpfen hatte, würde ich mir das gut überlegen. Diverse Regexe über längere Artikel (oder gar das gesamte Markup) laufen zu lassen, hat einen durchaus relevanten Performanceimpact.


    Laut ReReplacer hat es keinen Einfluss auf die Performance. Aber wenn das Features sowieso nicht funktioniert, hat das Tool ohnehin keinen Nutzen für mich

    Das Plugin EOR hat eine Option nur eine Ersetzung durchzuführen.


    Im andern Forum hast auch ein BSp. gepostet


    Da nicht klar ist, wo dein erstes Test steht, hilft dir da auch ein Regex nicht weiter, wenn ReReplacer keine entsprechende Option hat. Außer das erste Test hat immer eine eindeutige Umgebung, z.B. immer ein <p> davor, die anderen nicht etc.


    Also laut Rereplacer (https://www.regularlabs.com/ex…orial#regular-expressions) ist das möglich.
    Es geht um das erste "Test" einer Artikelseite. Mittels RegEx soll das erste "Test" des Artikels ersetzt werden und alle weiteren "Test" dieses Artikels nicht. Bei einem anderen Artikel natürlich das gleiche. D.h. das erste "Test" soll ersetzt werden und alle weiteren der gleichen Seite nicht. Eigentlich sollte das ja möglich sein...




    Du kannst es ja direkt in der Datenbank mit REPLACE ersetzen. A = alter string, B = neuer String - vielleicht hilft dir das


    Ungetestet

    SQL
    UPDATE #__content
    SET 
    introtext = CONCAT(
        REPLACE(
        LEFT(introtext, INSTR(introtext, 'A')), 'A', 'B'), 
        SUBSTRING(introtext, INSTR(introtext, 'A') + 1)
    )


    Das ist mir natürlich klar ;)
    aber es geht mir darum dass das automatisiert erfolgt. das Test war nur ein Beispiel um die erklärung nicht zu verkomplizieren
    Tatsächlich möchte ich das ein Wort durch einen internen Link ersetzt wird.
    Zum Beispiel wenn im Artikel das Wort "Marathon" vorkommt, wird auf einen Beitrag verlinkt der den Begriff "Marathon" näher erklärt.
    Da es allerdings in einigen Artikel öfters zu dem Wort "Marathon" kommen kann, möchte ich natürlich, das nur das erste Mal in den Artikeln das Wort Marathon durch die Verlinkung ersetzt wird.


    Ich verstehe diese Frage nicht. Kannst du ein Beispiel beschreiben? Du willst doch keine Suchseite sondern eine Liste von Beiträgen? Die die gewählte Option in einem der Felder enthalten?
    Das geht meines Wissens nicht ohne Eigenprogramierung oder einer Erweiterung.


    Hallo Christine,
    eigentlich sollte die Funktion ähnlich zu den Tags sein
    Ein Beispiel aus meiner Seite: https://www.hdsports.at/winter/drei-zinnen-ski-raid-2018
    Am Ende des Artikels habe ich die Tags die anklickbar sind. Klickt der User auf einen Tag werden alle Artikel angezeigt, denen ebenfalls der gleiche Tag zugewiesen ist.


    Das gleiche Spielchen sollte mit dem Custom Field möglich sein.
    Klickt der User am Ende des Beitrages auf eines der zugewiesenen Custom Fields werden alle Beiträge angezeigt, denen ebenfalls dieses Custom Field zugeordnet ist.

    Hallo,
    kennt sich jemand mit der RegEx Funktion aus? (Reguläre Ausdrücke)


    ich möchte mit dem ReReplacer folgende Ersetzungen durchführen:
    "Test"
    soll durch
    "XYZ" ersetzt werden


    Allerdings, soll nur das erste Test auf einer Beitragsseite ersetzt werden. Ohne der RegEx Funktion würden alle "Test" ersetzt werden. Mit RegEx muss es möglich sein, das nur das erste "Test" ersetzt wird. Leider habe ich trotz diverser RegEx Generatoren keine Lösung gefunden.


    Immer wenn ich zu dem Test Code dranhänge wird gar nichts ersetzt...


    LG Tom

    Hallo liebe Joomla.de-Community


    ich habe eine Frage zum Costum Field des Typen List (Multiple Choice)


    Kann man die ausgewählten Optionen im Frontend des Artikels verlinkbar machen, sodass beim Klick auf eine Option, die Suchseite erscheint auf der alle Beiträge aufgelistet werden, die ebenfalls dieses Custom Field enthalten?


    LG


    PS: Ich habe diese Frage auch auf joomlaportal.de gestellt

    Hey, liebe Community
    ich habe System debuggen kurz auf meiner Webseite aktiviert und festgestellt das extrem viele doppelte Datenbankabfragen stattfinden:


    Code
    146 ausgeführte Abfragen 105.79 ms59 Duplikate gefunden!3 Duplikate: #3  #99  #1453 Duplikate: #4  #100  #1462 Duplikate: #8  #92 Duplikate: #17  #185 Duplikate: #45  #58  #107  #119  #1225 Duplikate: #46  #59  #108  #120  #1233 Duplikate: #47  #61  #1252 Duplikate: #49  #1092 Duplikate: #62  #1262 Duplikate: #63  #1272 Duplikate: #65  #12910 Duplikate: #74  #76  #78  #80  #82  #84  #86  #88  #90  #9210 Duplikate: #75  #77  #79  #81  #83  #85  #87  #89  #91  #932 Duplikate: #103  #1303 Duplikate: #104  #115  #1343 Duplikate: #105  #116  #135


    Die 2 x 10 Duplikate sind z.B

    SQL
    SELECT catid FROM xx_content WHERE id = 12280


    SQL
    SELECT alias
     FROM xx_content
     WHERE id = 12880



    Wisst ihr wie man das lösen kann? Diese Duplikate erhöhen ja nur unnötig die Serverlast...


    LG

    Ich habe es mit folgendem Code für meine Seite gelöst


    sorry, das ich den Thread neu aufrolle.
    Ich habe eine einsprachige Webseite, aber mehrere Domains.
    www.HDsports.at - für österreichische User
    www.HDsports.de - für Deutsche User
    www.hdpsorts.org für den Rest


    Habe diesen Code in den Header eingebaut

    Code
    <link rel="alternate" hreflang="x-default" href="http://www.hdsports.at/" /><link rel="alternate" hreflang="de-AT" href="http://www.hdsports.at/" /><link rel="alternate" hreflang="de-DE" href="http://www.hdsports.de/" /><link rel="alternate" hreflang="de-CH" href="http://www.hdsports.org/" /><link rel="alternate" hreflang="de-US" href="http://www.hdsports.org/" /><link rel="alternate" hreflang="de-GB" href="http://www.hdsports.org/" />


    Dann bekam ich von Google eine Fehlermail mit "keine Rücklinks"


    Das Problem, der Code von oben wird natürlich auch auf allen Unterseiten eingeblendet.


    Aber im Prinzip sollte ja auf einer Unterseite wie z.B. http://www.hdsports.de/alpencup-tirol folgender Code im Header sein:


    Code
    <link rel="alternate" hreflang="x-default" href="http://www.hdsports.at/alpencup-tirol" />
    <link rel="alternate" hreflang="de-AT" href="http://www.hdsports.at/alpencup-tirol" />
    <link rel="alternate" hreflang="de-DE" href="http://www.hdsports.de/alpencup-tirol" />
    <link rel="alternate" hreflang="de-CH" href="http://www.hdsports.org/alpencup-tirol" />
    <link rel="alternate" hreflang="de-US" href="http://www.hdsports.org/alpencup-tirol" />
    <link rel="alternate" hreflang="de-GB" href="http://www.hdsports.org/alpencup-tirol" />


    Nur wie bekomme ich das hin? Den Sprachenfilter von Joomla brauche ich ja nicht, da ich nur eine Sprache habe.

    Ah danke. In der Datei hatte ich bereits gesucht, aber nur nach dem Begriff "pagebreak".


    Ganz so klappt es aber noch nicht.
    Schiebe ich die Zeilen unter


    PHP
    <section class="article-content clearfix" itemprop="articleBody">
            <?php echo $this->item->text; ?>
        </section>


    wird das Verzeichnis auch unter dem Zurück und Weiter-Button und den Tags angezeigt.Ich hätte es aber gerne drüber.


    Momentan habe ich den Code daher über diesen drei Codezeilen platziert. Dann wird das IV direkt über dem Textbeginn angezeigt.