Beiträge von LukasHH

    Ich habe auf meinem Testsystem die mod_articles_news überarbeitet.

    Das sind die beiden Felder in der XML (mod_articles_news.xml). Das erste ist das Original-Feld und das zweite habe ich hinzugefügt.

    Hier die mod_articles_news.php


    Dann habe ich die default.php kopiert und umbenannt nach accordeon.php, praktisch ein neues Layout erstellt. Das kann man ja im Modul auswählen. Zu Testzwecken, lasse ich dabei erst einmal nur den Titel ausgeben.

    Die Grundfunktion würde ich mir aber auch nochmal überlegen. Ich habe Kategorie eine ausgewählt und in Subkategorie ebenfalls.

    Jetzt werden, so wie von Dir ausgegeben in jedem Beitrag die Beiträge der Subkategorie ausgegeben.


    Hier mal bei mir die Testausgabe mit jeweils einer Kategorie. Ich habe das jetzt ohne der Accordion-Funktion und nur den Titel ausgeben lassen.


    Das ist die helper.php

    In der default.php

    würde ich auch aus:
    <?php foreach ($sub as $item) : ?>

    das machen:

    <?php foreach ($sub as $subitem) : ?>


    das $item hast Du schon in der übergeordneten Schleife.

    lasse mal die Inhalte der $list und $sub temporär ausgeben, um zu sehen, ob die variablen gefüllt sind.

    In der default.php eintragen


    PHP
    <?php
    echo '<pre style="white-space:pre !important;">';
    print_r($list);
    echo '</pre>';
    echo '<pre style="white-space:pre !important;">';
    print_r($sub);
    echo '</pre>';
    ?>


    Ich habe das bei mir nachgebaut und es funktioniert soweit.

    hast Du denn die zweite Funktion auch in der mod_articles_news.php aufgerufen?

    Dort findest Du die Zeile

    $list = ModArticlesNewsHelper::getList($params);


    Genauso musst Du dann auch die zweite Funktion aufrufen:

    PHP
    $sub= ModArticlesNewsHelper::getSub($params);


    Du könntest auch mit nur einer Funktion arbeiten, muss die Funktion getList nur um den Parameter $my_catid erweitern.

    Beispiel:

    PHP
    public static function getList(&$params, $my_catid){
    ...
    Zeile 56: $model->setState('filter.category_id', $my_catid);
    ...
    }


    Aufruf in der mod_articles_news.php dann:

    PHP
    $list            = ModArticlesNewsHelper::getList($params, $params->get('catid', array()));
    $sub            = ModArticlesNewsHelper::getList($params, $params->get('catid2', array()));

    Du hast ja die Zeile schon entsprechend markiert.

    //Kategorie ID => Wechsel auf catid2 funktioniert nicht


    Ich würde das Abrufen der Daten in eine eigene Funktion bauen und diese dann jeweils mit catid und ein zweites mal mit catid2 aufrufen.

    Es sieht so aus, als wenn das von einem Plugin oder anderen Erweiterung kommt. Wenn es ein Plugin ist, dann kannst Du es ganz einfach deaktivieren.

    Hast Du danach schon einmal geschaut?


    Bei den Erweiterungen auch mal in den Konfigurationen der Komponenten schauen.


    Falls das alles nichts weiterhilft, kannst Du Dir ja mal meine letzten Overrides zum Benutzerprofil unter https://www.j-over.de/de/ anschauen. Vielleicht helfen diese Dir weiter. Aber bevor ein Override erstellt wird, solltest Du sicherstellen, dass es kein Plugin oder anderweitige Erweiterung ist.

    Hallo,


    da nicht genau hervorgeht, was "zerschossen" ist und Du eine Neuinstallation in Betracht ziehst, dann würde ich auch eine neue DB-Struktur installieren lassen. Das kann die gleiche Datenbank sein, muss nur ein anderen Präfix aufweisen. Dann kannst Du die Tabellen unterscheiden.

    Wenn es die Datenbank-Struktur fehlerhaft sein sollte, kannst Du auch versuchen die Datenbank zu reparieren.

    Für Backups kenne ich kein besseres Tool als das Akeeba Backup. Das ist das erste, was ich nach einer Neuinstallation installiere.

    Ich denke mal - mit einer passenden Shop-Komponente fährst Du damit besser. Ich vermute mal, dass die User ja für den jeweiligen Zugang auch etwas bezahlen sollen. In einem Shop hättest Du dann die Zahlungsfunktion mit drin.

    Warum gibt es keine Testversion?
    Ich kann das gut verstehen, aber die meisten Erweiterungen sind so gebaut, dass sie sofort in vollem Funktionsumfang und uneingeschränkt nutzbar sind. Eine Testversion müsste dann im Funktionsumfang eingeschränkt werden, dann fehlen aber gerade die Funktionen, die Du testen wolltest. Eine zeitliche Einschränkung (zum testen ) einzubauen, ist den meisten zu umfangreich und zu kompliziert. Das würde den Entwicklungsumfang in der Komplexität deutlich erhöhen, was auch nicht zielführend ist.

    Schaue Dir mal die Shop Komponenten an, vielleicht findest Du da etwas passendes.
    https://extensions.joomla.org/category/e-commerce/

    Das wirst Du so auch nicht hinbekommen, da PHP eine Serverseitige Sprache ist und auf dem Server ausgeführt wird. Du versuchst es allerdings in einem iframe-Wrapper einzubauen, wo lediglich nur das html enthalten ist. Dort ist es für PHP Code dann schon zu spät.


    Du müsstest entsprechend etwas haben, wo man die Werte eingibt an den Server gesendet werden und dann entsprechend verarbeitet wird. Als Rückgabe an den Browser wird dann der Iframe mit dem gültigen Link gesendet.

    Um das realisieren zu können, müsstest Dich aber schon deutlich mehr mit PHP beschäftigen, jemanden beauftragen, der das entwickelt oder von dieser Konstellation abweichen und die PDF Dokumente in joomla zum Download anbieten. Das letztere wäre vermutlich die bessere Lösung.

    Du kannst bei "Show PopUp all x Days" auch weniger als 1 eintragen.

    0 z.B. würde immer aufrufen. Das wäre aber nervig und nur zum Testen angebracht.

    Wenn Du 0.2 (Punkt statt Komma) einträgst, dann wird das alle 2h neu angezeigt, bei 1 sind es 24h nach dem ersten Aufruf.

    Frage: Wie hast Du das Menü erstellt - bzw. die einzelnen Menüpunkte?


    Wenn ich mir den Quelltext anschaue, dann werden die Links zu den Scripten und CSS falsch ausgegeben und daher auch nicht geladen. Ich vermute mal, dass es an dem Menü liegt.


    Edit:

    Vor allem solltest Du erst einmal an der Grundkonfiguration nacharbeiten, damit man nicht auf sämtliche Daten unter http://markus.bplaced.net/ kommt. Wenn Du eine Test-Seite in einem Unterverzeichnis einrichten möchtest, dann eine Sub-Domain anlegen. Zusätzlich eine https Verschlüsselung.