Um eine Zusammenfassung zu erstellen, müssen Sie folgendes tun:

Ähnliche Dokumente
Hands-on für UI5-Anwendung auf HANA

Lösungen der Übungsaufgaben von Kapitel 10

vbulletin 5 Connect Kurzanleitung (ver 1.0) Erstellt und gewartet von Internet Brands Übersetzung: Dominic Schlatter

Folien php/mysql Kurs der Informatikdienste

Shopware 4.1 Kategorien

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

TYPO3 und TypoScript

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Folien php/mysql Kurs der Informatikdienste

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Interaktive Visualisierung der Projektmanagement-Prozesse

Informatik 12 Datenbanken SQL-Einführung

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

Joomla! 1.5 Extensions

5.8 Bibliotheken für PostgreSQL

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Anleitungen für User der Seite TSV AustriAlpin Fulpmes. So erstellen Sie einen Bericht (Beitrag) auf der TSV-AustriAlpin Fulpmes Homepage.

Performanceanalyse der Artikeldarstellung

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

SEMINAR Modifikation für die Nutzung des Community Builders

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

SMARTtill Server mit Manager

Grundlagen der Informatik 2

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Interaktive Webseiten mit PHP und MySQL

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Datenbanken. Ein DBS besteht aus zwei Teilen:

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Fachbereich Informatik Praktikum 1

Erweiterung für Premium Auszeichnung

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden.

Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB. Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.

TimeSafe Leistungserfassung

Drupal Views Bildergalerie erstellen

VERFASSEN VON ARTIKELN AUF DEN MITARBEITERSEITEN

Microsoft Access 2010 SQL nutzen

creditpass Bonitätsprüfung für xt:commerce SP2

Guideline. Integration von Google Analytics. in advertzoom

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

SQL Tipps und Tricks Part III

Abfragen (Queries, Subqueries)

Prüfungsnummer: deutsch. Prüfungsname: Querying. Version: Demo. SQL Server

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Die XML-Schnittstelle von FreelancerWelt.de Projektimport

Datenbank - Teil 3. Ziele dieser Übung: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: Übung WS 2014/2015. Benedikt Schumm M.Sc.

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Praktikum im Grundstudium

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Um einen neuen Konnektor anzulegen klicken sie auf die Schaltfläche Neue Konfiguration > Befüllung folgender Felder:

Installation eines SQL Server 2012

Bewährte Drupal-Module

Das Handbuch zu Blogilo. Mehrdad Momeny Übersetzung: Burkhard Lück

Einführung in PHP und MySQL

ACCESS SQL ACCESS SQL

Übung 1: SQL. Übungen finden bei Bedarf anstelle der Vorlesungen statt Fragen? Vorlesung Datenbankeinsatz WS 04/05 IPD

Der Einsatz von MySQL-Datenbanken (mit XAMPP)

TwinSpace Leitfaden. Herzlich Willkommen im TwinSpace!

Dokumentation zur Anlage eines JDBC Senders

Allgemeiner Import-Ablauf

A) Durchsuchen von Datenbanken im Internet durch Endnote

Kurzanleitung für die Import/Export Funktion Kinderleicht Produkte importieren und aktualisieren und exportieren

Verwalten des App-Katalogs in SharePoint 2013

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Extending tl_member. Andreas Fieger

...ist das kleine Icon das am Anfang der URL der Internetadresse erscheint. (wie bereits in Version 1.4)

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel Michael Kluge (michael.kluge@tu-dresden.

- Welche Beziehungstypen werden von ACCESS unterstützt? ACCESS unterstützt die Beziehungen + 1:1 + 1:n bzw. 1:cn + m:n

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine.

4.1 Wie bediene ich das Webportal?

Installationsanleitung für CAO-FAKTURA Connector.

Einstieg in das SQL- und Datenbanktuning Loblied auf den Tabellen-Index!

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

OpenOffice - Base G. Laner 1

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Indexing und Performance Tuning

Die SQL-Schnittstelle

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Einführung in Datenbanken und SQL

PostgreSQL in großen Installationen

8 DML (1) Daten abfragen

Extensions mit TYPO3 TYPO3

Excel 2010 Werte aus einer Liste wählen

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

Übung 1: Ein Website News-System mit MySQL

PostgreSQL unter Debian Linux

Smarty Templates. von Sebastian Hardt

Diese Dokumentation richtet sich an Benutzer, die Hilfe bei den Einstellungen in der App benötigen, damit diese richtig benutzt werden kann.

TIMERATE AG Tel Falkenstrasse Zürich Joomla Templates Kursunterlagen

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Roland Tilgner. Solution Architects & Team Coaching DEVELOPMENT. ORACLE TEXT AUS PL/SQL-SICHT Features und Möglichkeiten

ARBEITSBLATT ZUR SQL-BEFEHLEN

DoIT! MS-SQL-Anbindung

Transkript:

Um eine Zusammenfassung zu erstellen, müssen Sie folgendes tun: Erstellen Sie ein Template für die Details. Meines habe ich cms_userdef_site_summary_bit benannt. Erstellen Sie ein Template für die komplette Zusammenfassung. Meines habe ich cms_userdef_site_summary benannt. Erstellen Sie ein PHP-Modul und benennen Sie es. Geben Sie eine Timeout-Periode für das Cachen ein, ich habe 60 eingeben. Somit wird jede Stunde eine Abfrage ausgeführt. Geben Sie darunter den PHP-Code ein. Geben Sie darunter einen Vorschau-Code ein. Ich will nur einen Titel anzeigen lassen, und habe daher dies eingegeben: $output = 'Seiten-Zusammenfassung'; oder $output = 'Folgen Sie diesem Link für eine Zusammenfassung der aktuellen Inhalte'; Bei Bedarf können Sie auch die URL zu einer Grafik einfügen, welche in der Vorschau angezeigt werden soll. Veröffentlichen Inhalt (PHP-Code) /*** FALLS SIE KEIN PHP-PROGRAMMIERER SIND: Führen Sie erst dann Änderungen durch, sobald Sie alles durchgelesen haben und wissen was zu ändern ist! Falls Fehler auf Ihrer Seite auftreten Sie wurden gewarnt! * /** Mit diesem Code wird eine Zusammenfassung Ihrer Seite erstellt. Für jeden Bereich erhalten Sie die typische Artikelseite für einen Artikel und darunter die Namen der restlichen Artikel als Links. Als Standard werden 5 Artikel angezeigt. Sie können diesen Wert unter $articlecount anpassen. $sections gibt die Werte der Bereich-IDs an. Tragen Sie hier nur etwas ein, falls Sie sich sicher sind. Die Liste muss durch Kommata getrennt werden, zb: $sections = array(1, 3, 4, 5); Leerzeichen sind erlaubt, aber nicht erforderlich. Vergessen Sie nicht den Strichpunkt am Ende. $sections = array(); /** Falls Sie festlegen wollen, welche Artikel in der Vorschau angezeigt werden sollen, können Sie

diese Information hier eingeben. Falls Sie also den Artikel mit der ID 5 als Vorschau des Bereichs 1 und den Artikel mit der ID 5 als Vorschau des Bereichs 3 anzeigen lassen wollen, müssen Sie folgendes eingeben: $sectionleads = array(1 => 5, 3 =>7); Vergessen Sie nicht den Strichpunkt. $sectionleads = array(); /** Standardmäßig werden die Titel für fünf Artikel generiert. Die Vorschau für die entsprechenden Bereiche sind nicht inkludiert. Falls Sie die Anzahl der Artikel ändern wollen, können Sie den Wert unterhalb anpassen. $article_count = 5; /** Standardmäßig werden maximal acht Bereiche angezeigt. Sie können den Wert hier ändern. $section_count = 8; /** Falls es keine Liste der Bereiche gibt, brauchen wir noch eine. Diese Liste brauchen wir, damit die Inhalte korrekt angezeigt werden können. Standardmäßig werden nur Inhalte angezeigt, welche auch Gäste sehen dürfen. Falls Sie das ändern wollen, können Sie hier eine andere Benutzer-ID eingeben. $perms_user = 0; /** Ab jetzt sollten Sie wirklich nur mehr Änderungen durchführen, wenn Sie ein PHP- Programmierer sind. * $section_typeid = >getcontenttypeid('vbcms_section'); $permission_clause = vbcms_permissions::getpermissionstring($perms_user); $sql = "SELECT node.nodeid, info.title, node.url FROM ". TABLE_PREFIX. "cms_node AS node INNER JOIN ". TABLE_PREFIX. "cms_nodeinfo AS info ON info.nodeid = node.nodeid WHERE contenttypeid = $section_typeid ". (empty($sections)? '' : " AND nodeid in (". implode($sections, ','). ")"). " AND $permission_clause ORDER BY setpublish DESC " ; $rst = vb::$db->query_read($sql); $counter = 0; $results = array(); while($section = vb::$db->fetch_array($rst))

/** Jetzt haben wir die Bereiche, machen wir mit dem Inhalt weiter. Dafür brauchen wir mehr Abfragen als mir lieb ist, doch es gibt keinen anderen Weg. Zum Glück lassen sich diese Abfragen schnell ausführen. * *Achtung mit der nächsten Abfrage. Falls wir uns in der nächsten Abfrage selbst nicht ausschließen, enden wir ein einer Endlosschleife $sectionid = $section['nodeid']; $sql = "SELECT node.nodeid, node.url, node.contenttypeid, info.title FROM ". TABLE_PREFIX. "cms_node AS node INNER JOIN ". TABLE_PREFIX. "cms_nodeinfo AS info ON info.nodeid = node.nodeid WHERE parentnode = $sectionid AND node.nodeid <> ". vb::$vbulletin->nodeid. " AND node.nodeid <> ". $this->getnodeid(). " AND node.contenttypeid <> $section_typeid AND ". (isset($sectionleads[$sectionid])? " (nodeid = ". $sectionleads[$sectionid]. ") OR " : '' ). "($permission_clause) ORDER BY publishdate DESC LIMIT ". ($article_count + 1); $route_info = $section['nodeid']. ($section['url']!= ''? '-'. $section['url'] : ''); $section['page_url'] = vb_route::create('vbcms_route_content', $route_info)->getcurrenturl(); $rst2 = vb::$db->query_read($sql); $nodes = array(); $first_node = false; while($node = vb::$db->fetch_array($rst2)) //Wir brauchen noch den ersten Knotenpunkt. if (!$first_node) $first_node = $node['nodeid']; $route_info = $node['nodeid']. ($node['url']!= ''? '-'. $node['url'] : ''); $node['page_url'] = vb_route::create('vbcms_route_content', $route_info)->getcurrenturl(); $nodes[$node['nodeid']] = $node; //Jetzt brauchen wir den ersten Artikel. Wir benutzen jenen, welcher oben in der // Einstellung festgelegt wurde, sofern diese vorgenommen wurde und gültig ist. if (isset($sectionleads[$sectionid]) AND isset($nodes[$sectionleads[$sectionid]])) $first_node = $sectionleads[$sectionid]; //Falls es keinen Inhalt gibt, machen wir weiter. Das ist ein aktueller Bereich ohne Inhalt. if ($first_node)

$view = new vb_view('cms_userdef_site_summary_bit'); // Überprüfen wir den Inhalt $lead_item = vbcms_content::create( >getcontenttypepackage($nodes[$first_node]['contenttypeid']), >getcontenttypeclass($nodes[$first_node]['contenttypeid']), $first_node); if (method_exists($lead_item, 'getpreview')) $lead_content = vbcms_item_content::create( >getcontenttypepackage($nodes[$first_node]['contenttypeid']), >getcontenttypeclass($nodes[$first_node]['contenttypeid']), $first_node); $lead_item->setcontentitem($lead_content); // theoretisch sollte die angehängte Datei entsprechend zugeordnet sein $view->leadcontent = $lead_item->getpreview(); unset($nodes[$first_node]); $view->nodes = $nodes; $view->section = $section; $rendered = $view->render(); $counter++; $results[$counter] = $rendered; if ($counter >= $section_count) break; $view = new vb_view('cms_userdef_site_summary'); $view->results = $results; $view->bitcount = $counter; $output = $view->render(); Template cms_userdef_site_summary_bit <h1 class="header"> <span><a href="vb:raw section.page_url">vb:raw section.title</a></span> </h1> vb:raw leadcontent <ul style="list-style-type:round"> <vb:each from="nodes" key="nodeid" value="node">

<li><a href="vb:raw node.page_url" alt="vb:var node.title">vb:raw node.title</strong></a></li> </vb:each> </ul> Template cms_userdef_site_summary vb:raw results.1 vb:raw results.2 <vb:if condition="$bitcount > 2"> vb:raw results.3 vb:raw results.4 <vb:if condition="$bitcount > 4"> vb:raw results.5 vb:raw results.6 <vb:if condition="$bitcount > 6"> vb:raw results.7 vb:raw results.8 <vb:if condition="$bitcount > 8"> vb:raw results.9 <div style="width:50%;float:right;>

vb:raw results.10 <vb:if condition="$bitcount > 10"> vb:raw results.11 vb:raw results.12