Heim Backend-Entwicklung PHP-Tutorial Eingehende Untersuchung der Aufgaben und Ansichten in Joomla

Eingehende Untersuchung der Aufgaben und Ansichten in Joomla

Aug 08, 2016 am 09:23 AM
joomla task view

[Dieser Artikel stammt aus: Mengxi Notes]

Joomla ist ein hervorragendes CMS-System, das Ihnen die schnelle Fertigstellung einer Website ermöglicht . Module und Vorlagen können die meisten Ihrer Website-Anforderungen erfüllen. Komponenten spielen dabei eine wichtige Rolle.

1. Grundkenntnisse

Komponente (Komponente) wird verwendet, um die Hauptdaten der Seite anzuzeigen. Die Komponenten von Joomla werden mithilfe der MVC-Architektur entworfen. Wenn eine Seitenanforderung generiert wird, kann ihre URL Aufgabe, Ansicht, Layout und andere Informationen enthalten. Ich bin hier, um diese Aufgabe und Ansicht zu besprechen. Wenn die URL eine Aufgabe enthält, enthält sie im Allgemeinen keine Ansicht. Dies liegt daran, dass Joomla davon ausgeht, dass die Aufgabe eine bestimmte Aufgabe abschließt, z. B. eine Datenbankoperation, eine Gültigkeitsüberprüfung usw., und eine Ansicht für die Anzeige der Daten verantwortlich. Das übliche Design besteht darin, dass nach Abschluss der Aufgabenverarbeitung in der Aufgabe die setRedirect-Methode aufgerufen wird, um sie zu einer Ansicht zum Anzeigen von Daten zu führen. Wenn in Joomla die Aufgabe nicht in der URL angegeben ist, ist die Standardaufgabe tatsächlich die Anzeige.

2. Problem

Im Projekt ist es notwendig, offene Grafikprotokolldaten in die Metadaten der Seite aufzunehmen. Ein offenes Grafikprotokoll wird verwendet, um sozialen Netzwerken Beschreibungen der zu teilenden Daten bereitzustellen. Wenn Ihre Seite durch eine Aufgabe vervollständigt wird und Sie dann setRedirect in der Aufgabe verwenden, um basierend auf den Daten zur Autorisierungsüberprüfung zu verschiedenen Ansichten zu springen und nach bestandener Überprüfung die Datenseite anzuzeigen, kann dieses Problem auftreten: Sie benötigen Zum Teilen Für diese Seite haben Sie Open Graphic Protocol-Daten zu den Metadaten dieser Seite hinzugefügt. Wenn Sie sie mit sozialen Netzwerken wie Facebook, Google usw. teilen möchten, werden Sie feststellen, dass die auf der Seite angezeigten Daten und Bilder angezeigt werden Bei der freigegebenen Seite handelt es sich nicht um die Daten, die Sie auf der Seite anzeigen möchten.

3. Lösung

Das oben genannte Problem liegt daran, dass die Open-Graphic-Protokoll-Datenerfassung keine Sprünge unterstützt. Wenn Sie auf einen Sprung stoßen, gehen Sie normalerweise zum Abholen auf die Homepage der Website die Daten, und das ist nicht das, was wir wollen. Das Problem ist setRedirect. Das Prinzip von setRedirect besteht darin, dass der an den Browser gesendete HTML-Header Sprunganweisungen enthält. Die Lösung des oben genannten Problems besteht nicht darin, setRedirect zu verwenden, sondern display zu verwenden. Sie müssen lediglich die Ansicht, das Layout und andere Daten festlegen, die Sie in der Eingabe übergeben möchten, und diese dann aufrufen Anzeigemethode.

Das Folgende ist der Beispielcode:

    /**
     * 内部跳转,用于代替setRedirect. 为什么要这样子做呢?
     * 因为 setRedirect他会发送一个http头到浏览器,让浏览
     * 进行跳转,这样一来就多了一个网络请问, 这是其一。最
     * 为主要的是setRedirect在某些不支持浏览器redirect的情况
     * 下达不到效果,例如:open graphic protocal
     * 
     * @param type $view 要显示的view
     * @param type $layout 要显示的layout, 默认为NULL
     */
    protected function internalRedirect($view, $layout=null){
        $this->input->set("view", $view);
        $this->input->set("layout", $layout);
        return $this->display();
    }
    
    public function checkAvailable(){
        //其他的业务代码
        $this->input->set('tmpl', 'doexam');
        return $this->internalRedirect("doexam", $layout);
    }
Nach dem Login kopieren

Der obige Code ist in Ihren Controller geschrieben. Die Funktion internalRedirect zeigt die Seite an, indem sie die Ansicht und das Layout in $input festlegt (diese Eingabe bezieht sich auf den Eingabeparameter der URL) und dann direkt die Anzeigemethode von JControllerLegecy aufruft.

In der checkAvailable-Methode werden vor dem Aufruf von internalRedirect auch andere für die Ansicht erforderliche Parameter festgelegt.

Ein Freund von Mengxi sagte, dass er beim Erstellen einer seiner Websites auf ein solches Problem gestoßen sei. Wir haben den Joomla-Implementierungscode besprochen und analysiert und festgestellt, dass die Lösung eigentlich ganz einfach ist, solange man mit Joomla vertraut ist Komponentenentwicklung. Wenn Sie Fragen haben, können Sie mit mir sprechen

Ich hoffe, dieser Artikel kann die Probleme lösen, auf die Sie stoßen.

Das Obige stellt eine ausführliche Untersuchung von Aufgaben und Ansichten in Joomla vor, einschließlich der Inhalte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Windows 11-Aufforderungen zum Herunterfahren des Task-Hosts. Der Fenster-Task-Host führt die Lösung für das Herunterfahren-Task aus Windows 11-Aufforderungen zum Herunterfahren des Task-Hosts. Der Fenster-Task-Host führt die Lösung für das Herunterfahren-Task aus Feb 12, 2024 pm 12:40 PM

In letzter Zeit haben viele Win11-Benutzer berichtet, dass sie beim Herunterfahren die Meldung erhalten, dass der Task-Host taskhostwindow die Aufgabe zum Herunterfahren ausführt. Was ist also los? Benutzer können den Desktop-Ordner im lokalen Registrierungseditor aufrufen und dann im rechten Fenster AutoEndTasks auswählen, um ihn festzulegen. Lassen Sie diese Website den Benutzern die Lösung für dieses Problem beim Herunterfahren sorgfältig vorstellen. Das Herunterfahren von Windows 11 zeigt an, dass der Task-Host „taskhostwindow“ die Shutdown-Aufgabe ausführt. Lösung: 1. Verwenden Sie die Tastenkombination Win-Taste + R-Taste, geben Sie „regedit“ ein und drücken Sie die Eingabetaste, wie in der Abbildung unten gezeigt. 2. Suchen Sie nach [HKEY

Laravel-Entwicklung: Wie generiert man Ansichten mit Laravel View? Laravel-Entwicklung: Wie generiert man Ansichten mit Laravel View? Jun 14, 2023 pm 03:28 PM

Laravel ist derzeit eines der beliebtesten PHP-Frameworks und seine leistungsstarken Funktionen zur Ansichtsgenerierung sind beeindruckend. Eine Ansicht ist eine Seite oder ein visuelles Element, das dem Benutzer in einer Webanwendung angezeigt wird und Code wie HTML, CSS und JavaScript enthält. Mit LaravelView können Entwickler eine strukturierte Vorlagensprache verwenden, um Webseiten zu erstellen und entsprechende Ansichten über Controller und Routing zu generieren. In diesem Artikel erfahren Sie, wie Sie mit LaravelView Ansichten generieren. 1. Was

Golang lernt die Entwicklung von Webanwendungen auf Basis von Joomla Golang lernt die Entwicklung von Webanwendungen auf Basis von Joomla Jun 24, 2023 pm 12:15 PM

Golang ist eine Programmiersprache mit hoher Parallelität und hoher Zuverlässigkeit, die in den letzten Jahren in der Webentwicklung große Aufmerksamkeit erregt hat. Joomla ist ein Open-Source-Content-Management-System mit guter Modularität und Benutzerfreundlichkeit. In diesem Artikel werden Golang als Hauptentwicklungssprache und Joomla als Grundgerüst verwendet, um eine Joomla-basierte Methode zur Entwicklung von Webanwendungen vorzustellen. 1. Einführung in Joomla Joomla ist ein auf PHP basierendes Open-Source-CMS-System. Es bietet viele Vorteile, wie z. B. Benutzerfreundlichkeit und Flexibilität

Pagoda Panel: Ein-Klick-Installation von WordPress, Joomla und anderen CMS Pagoda Panel: Ein-Klick-Installation von WordPress, Joomla und anderen CMS Jun 21, 2023 pm 04:18 PM

Pagoda Panel ist eine webbasierte Serververwaltungssoftware, mit der Benutzer Websites, Anwendungen und Datenbanken schnell auf Linux-Servern bereitstellen können. Eine Schlüsselfunktion des Pagoda-Panels ist unter anderem die Ein-Klick-Installation verschiedener Open-Source-CMS, darunter WordPress, Joomla, Drupal usw. Für einen Website-Administrator, der mit der Serververwaltung nicht vertraut ist, kann die manuelle Bereitstellung eines CMS eine mühsame Aufgabe sein. Einschließlich des Prozesses zum Herunterladen der Software, Dekomprimieren, Konfigurieren der Datenbank und Hochladen der Dateien auf den Server. Diese Schritte sind

Detaillierte Erläuterung von C#Task Detaillierte Erläuterung von C#Task Mar 14, 2024 am 09:54 AM

Task ist ein Objekt, das zur Darstellung asynchroner Vorgänge in C# verwendet wird. Es befindet sich im Namespace System.Threading.Tasks. Task bietet eine High-Level-API für die Verarbeitung gleichzeitiger, asynchroner Vorgänge und erleichtert so das Schreiben von asynchronem Code in .NET-Anwendungen.

Einige der beliebtesten Website-Erstellungsprogramme, wie viele kennen Sie? Einige der beliebtesten Website-Erstellungsprogramme, wie viele kennen Sie? Feb 13, 2024 pm 11:30 PM

Wir alle wissen, dass die Kosten recht hoch sind, wenn Sie selbst ein neues Programm zum Erstellen einer Website entwickeln möchten und nicht alle Einzelpersonen sowie Klein- und Kleinstunternehmen es sich leisten können. Glücklicherweise gibt es heute im Internet viele Open-Source- und kostenlose Website-Erstellungsprogramme, die nur durch direktes Herunterladen und Installieren verwendet werden können. Dieses Open-Source-Programm reduziert nicht nur die Hürden für die Erstellung einer Website, sondern spart auch direkt eine Menge Kosten für die Website-Erstellung. Um Anfängern den Einstieg in die Website-Erstellung zu erleichtern, stellt Yiwuku morgen kurz einige der beliebtesten Website-Erstellungsprogramme vor. 1. WordPress [Download] WordPress ist ein kostenloses Open-Source-Programm. WordPress kann eine leistungsstarke Plattform zur Online-Veröffentlichung von Informationen erstellen, wird jedoch häufiger für personalisierte Blogs verwendet. WordPress kann nicht nur als persönlicher Blog, sondern auch als Unternehmenswebsite, Portalwebsite und Unternehmenswebsite verwendet werden.

Erhalten Sie ein tieferes Verständnis für Aufgaben in C# Erhalten Sie ein tieferes Verständnis für Aufgaben in C# Feb 18, 2024 pm 12:03 PM

Detaillierte Erläuterung von C#Task, spezifische Codebeispiele sind erforderlich. Einführung: In der C#-Multithread-Programmierung ist Task ein häufig verwendetes Programmiermodell zur Implementierung asynchroner Vorgänge. Task bietet eine einfache Möglichkeit, gleichzeitige Aufgaben zu verarbeiten, kann asynchrone Vorgänge parallel in mehreren Threads ausführen und bequem Ausnahmen und Rückgabewerte verarbeiten. In diesem Artikel wird die Verwendung von C#Task ausführlich vorgestellt und einige spezifische Codebeispiele bereitgestellt. 1. Aufgaben erstellen und ausführen Methoden zum Erstellen von Aufgabenobjekten Es gibt viele Möglichkeiten, Aufgabenobjekte in C# zu erstellen.

Verwenden von C#-Aufgaben Verwenden von C#-Aufgaben Feb 19, 2024 pm 12:16 PM

Die Verwendung von C#-Tasks erfordert einen Überblick über spezifische Codebeispiele: Task ist ein sehr häufig verwendeter Typ in C#. Er stellt einen ausführbaren Vorgang dar, der asynchron ausgeführt werden kann und Ergebnisse zurückgibt. Aufgaben spielen eine wichtige Rolle bei der Abwicklung asynchroner Vorgänge, der Parallelverarbeitung und der Verbesserung der Anwendungsleistung. In diesem Artikel wird die grundlegende Verwendung von Task vorgestellt und einige spezifische Codebeispiele bereitgestellt. Erstellen und Verwenden einer Aufgabe In C# können Sie die Task-Klasse verwenden, um eine asynchrone Aufgabe zu erstellen und zu verwenden. Hier ist eine Möglichkeit, Ta zu erstellen und zu verwenden

See all articles