Wikipedia in eine Tabelle zwingen

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Antworten
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Wikipedia in eine Tabelle zwingen

Beitrag von Dungeonwatcher »

Moin! :cool:

So gaaaaaaaanz langsam erschliesst sich mir ein klein bischen der Syntax von PHP. :rolleyes:

Dank @Oxpus klappt das einbinden meines selbsterstellten Menüs mittlerweile bestens. Allerdings widersetzte sich der Wikipedia Mod bisher allen meinen Versuchen auch dort das Menü einzufügen. Nun kam mir doch die rettende Idee. Ich schrien mir ein eigenes Template (wikipedia.tpl):

Code: Alles auswählen

<table width="100%" cellspacing="2" cellpadding="2" border="0">
  <tr>
    <td class="maintitle"><a href="{topicreplies.URL}">Wikipedia</a></td>
  </tr>
  <tr>
    <td class="nav"><a href="{U_INDEX}">{L_INDEX}</a> &raquo; <a href="wikipedia.php">Wikipedia</a></td>
  </tr>
</table>

{MENUE}
Damit das Template auch in die "wikipedia.php" mit eingebunden wird, habe ich analog zum Menü in die "page_header.php" folgendes eingetragen werden:

Code: Alles auswählen

//
// Parse and show the Wikipedia.
//
$template->set_filenames(array(
    'wikipedia' => 'wikipedia.tpl')
);

$template->assign_var_from_handle('WIKIPEDIA', 'wikipedia');
Desweiteren gehört in die "wikipedia.php" noch dieser Eintrag:

Code: Alles auswählen

//
// Parse and show the Menue.
//
$template->assign_var_from_handle('wikipedia', 'wikipedia');
$template->pparse('wikipedia');
direkt nach:

Code: Alles auswählen

include($phpbb_root_path . 'includes/page_header.'.$phpEx);
und vor:

Code: Alles auswählen

function callback($wikibuffer)
{
Das ganze sieht dann bereits so aus: Wikipedia

Das nächste Problem besteht jetzt darin das Wikipedia in eine Tabelle zu zwingen, damit es dann wie hier aussieht.

Wer hat die Lösung parat? :rolleyes:

Bye/2
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wie schaut denn das Wikipedia-Script nochmal aus?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Moin! :cool:

So sieht die von mir leicht angepasste Version aus:

Code: Alles auswählen

<?php

/***************************************************************************
 *                            wikipedia.php
 *                            -------------------
 *     copyright            : (C) 2005 ChaosLord
 *     email                : goccl@web.de
 *
 ****************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

// Start Session Management
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);

header("Content-type: text/html; charset=utf-8");
//header("Content-type: text/html; charset=iso-5859-1");
header("Cache-Control: no-cache, pre-check=0, post-check=0, max-age=0");

$title = ( isset($HTTP_POST_VARS['title']) ) ? $HTTP_POST_VARS['title'] : $HTTP_GET_VARS['title'];
$action = ( isset($HTTP_POST_VARS['action']) ) ? $HTTP_POST_VARS['action'] : $HTTP_GET_VARS['action'];
$section = ( isset($HTTP_POST_VARS['section']) ) ? $HTTP_POST_VARS['section'] : $HTTP_GET_VARS['section'];

$page_title = 'Wikipedia :: '.$title;

include($phpbb_root_path . 'includes/page_header.'.$phpEx);

//
// Parse and show the Menue.
//
$template->assign_var_from_handle('wikipedia', 'wikipedia');
$template->pparse('wikipedia');

function callback($wikibuffer)
{
        $wikibuffer = substr( $wikibuffer, strpos( $wikibuffer, '<!-- start content -->' ) );
        $wikibuffer = substr( $wikibuffer, 0, strpos( $wikibuffer, '<div class="printfooter">' ) );
        $wikibuffer = str_replace( "/wiki/", "wikipedia.php?title=", $wikibuffer );
        $wikibuffer = str_replace( "/w/index.php?title=", "wikipedia.php?title=", $wikibuffer );
        $wikireplace = array(

	'</b>'   => '</b >',
	'<p>'    => '<span class="gen">',
	'</p>'   => '</span>',
//	'<ul>'   => '<span class="genmed"><ul>',
//	'</ul>'  => '</ul></span>',

//	'<a' =>'<a class="genmed"',
//	' class="printfooter">'=>' class="printfooter"><hr />',
//	' class="new"' =>' class="genmed"',
//	' class=\'external\'' =>' class="genmed"',
	'/skins/common/images/magnify-clip.png' =>'http://de.wikipedia.org/skins/common/images/magnify-clip.png',
	'/math/' => 'http://de.wikipedia.org',
	'.orgwiki' =>'.org/wiki/wiki',
//	'\n' =>'\n<br>\n',
//	'<img' =>'<img border="0"',
	'Siehe auch' =>'<b>Siehe auch</b><br />',
//	'Weblinks' =>'Weblinks<br />',

	'background-color:#F8F8FF' => 'background-color:#272727',
	'background-color:#f8f8ff' => 'background-color:#272727',
	'background-color:#FCFCFC' => 'background-color:#272727',
	'background-color:#fcfcfc' => 'background-color:#272727',
	'background-color:#ffffff' => 'background-color:#272727',
	'background-color:#FFFFFF' => 'background-color:#272727',
	'background-color:#F8F8FF' => 'background-color:#272727',
	'background-color:#f8f8ff' => 'background-color:#272727',
	'background-color:#EFEFEF' => 'background-color:#272727',
	'background-color:#efefef' => 'background-color:#272727',
	'background-color:#dfefdf' => 'background-color:#272727',
	'background-color:#F7F7F7' => 'background-color:#272727',
	'background-color:#f7f7f7' => 'background-color:#272727',
	'background-color:#FFFFF8' => 'background-color:#272727',
	'background-color:#FFFFF8' => 'background-color:#272727',
	'background-color:#FFFAF0' => 'background-color:#272727',
	'background-color:#FAF0E6' => 'background-color:#272727',
	'background-color:#f7f8ff' => 'background-color:#272727',
	'background-color:white'   => 'background-color:#272727',
	'background-color: #F8F8F8' => 'background-color:#272727',
	'background-color:#f9f9f9' => 'background-color:#272727',

	'background:#CCA394' => 'background:#272727',
	'background:#efefef' => 'background:#272727',
	'background:#ffffff' => 'background:#272727',
	'background:#FDF5E6' => 'background:#272727',
	'background:white'   => 'background:#272727',
	'background:#dddddd' => 'background:#272727',
	'background:#FFDAB9' => 'background:#272727',

	'bgcolor="#FFFFFF"' => 'bgcolor="#272727"',
	'bgcolor="#FFDEAD"' => 'bgcolor="#272727"',
	'bgcolor="#EFEFEF"' => 'bgcolor="#272727"',

	'<table width="100%">' => '<table class="forumline" width="100%" cellspacing="1" cellpadding="0" border="0">',

	'class="image border="0""' => 'class="image" border="0"',

	'class="center' => 'class="gen',
	'class="floatnone' => 'class="gen',
	'class="plainlinks' => 'class="gen',
	'class="extiw' => 'class="gen',
	'class="tocindent' => 'class="nav',
	'class="tocline' => 'class="nav',
	'class="toctoggle' => 'class="nav',
	'class="image"' => '',

	'editsection' => 'gen',
	'external' => 'gen',
	'urlexpansion' => 'gen',

        );
        $wikibuffer = strtr($wikibuffer, $wikireplace);
        $wikibuffer = preg_replace( '/\(<i>http(.*)wiki.phtml(.*)<\/i>\)/', "", $wikibuffer );
        return $wikibuffer;

	$wiki_a = "/skins/common/images/magnify-clip.png";
	$wiki_b = "http://de.wikipedia.org/skins/common/images/magnify-clip.png";
	$wikibuffer = preg_replace( $wiki_a, $wiki_b, $wikibuffer );

}

if( $action != "" )
{
        if( $action == "edit" )
        {
                ob_start("callback");
                include 'http://de.wikipedia.org/w/index.php?title='.$title.'&action='.$action.'&section'.$section;
                ob_end_flush();
        }
}
else
{
        ob_start("callback");
        include 'http://de.wikipedia.org/wiki/?title=' . $title;
        ob_end_flush();
}

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>

---
PS: Hmmm, hattest du hier nicht mal die Möglichkeit solche Quote-/Code-Fenster verkleinert darzustellen?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

PS: Hmmm, hattest du hier nicht mal die Möglichkeit solche Quote-/Code-Fenster verkleinert darzustellen?
Ist wieder ausgebaut.

Ja, die Möglichkeit für eine Tabelle schaue ich mir nachher mal an.
Ich melde mich dann wieder.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="oxpus - Mo 30.Mai, 2005 11:42";p="33782"]Ist wieder ausgebaut.[/quote]

Schade, ich fand es nicht schlecht.
Ja, die Möglichkeit für eine Tabelle schaue ich mir nachher mal an.
Ich melde mich dann wieder.
THNX
helluvaguy
Beiträge: 128
Registriert: Di 06.Apr, 2004 20:22

Beitrag von helluvaguy »

Gibt es eigentlich auch eine Möglichkeit, die Artikel, die man anklicken kann, in eine .tpl zu "zwingen", da sie sonst so unformatiert angeziegt werden?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Keine Ahnung. Ich weiß noch nicht, wie diese "ankommen".
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

[quote="helluvaguy - Mo 30.Mai, 2005 13:13";p="33799"]Gibt es eigentlich auch eine Möglichkeit, die Artikel, die man anklicken kann, in eine .tpl zu "zwingen", da sie sonst so unformatiert angeziegt werden?[/quote]

Hmmm, genau das versuche ich doch gerade. Aber "unformatiert" würde ich das momentane Ergebnis nicht bezeichnen. Die Formatierung sieht genauso aus wie das Orginal. Die farbliche Umsetzung einzelner Elemente kannst du doch im PHP-Script festlegen.
helluvaguy
Beiträge: 128
Registriert: Di 06.Apr, 2004 20:22

Beitrag von helluvaguy »

Nimm nur mal bitte "Angela Merkel" als Beispiel (oben rechts bei aktuelle Ereignisse). Der dort aufgerufene Artikel ist ja im Gegensatz zum Forum unformatiert, als dass er nicht vor einem Zellenhintergrund, sondern dem Hintergrund(bild) des Forums erscheint.
Deswegen meinte ich in ein .tpl "zwingen", damit es leichter lesbar wird. Es würde ja schon helfen, wenn der Text nicht als Times New Roman sondern Arial angezigt werden würde.

Den Artikeltext in eine Zelle zu zwängen ist sicherlich schwer, aber es muß doch möglich sein, die Schriftart zu definieren, damit sie besser an die des Forums passt.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hm, wenn ich mir den Quellcode der erzeugten Seite anschaue, ist es schwer, hier eine phpBB-ähnliche Tabellenstruktur rein zu bekommen.
Der Wiki-Parser arbeitet sehr viel mit div und Listen. Da müsste viel zerlegt und neu zusammengesetzt werden, wobei man die Startseite berücksichtigen müsste, die nicht unbedingt zerstört werden sollte...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
helluvaguy
Beiträge: 128
Registriert: Di 06.Apr, 2004 20:22

Beitrag von helluvaguy »

In wiefern muß denn die wikipedia.php verändert werden, damit sie so wie hier im Forum ohne den page_header aufgerufen werden soll? Nehme ich nur

Code: Alles auswählen

include($phpbb_root_path . 'includes/page_header.'.$phpEx);
raus, fehlt ja der Verweis auf den .tpl
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Davor diese Zeile einfügen:

Code: Alles auswählen

$gen_simple_header = TRUE;
Nicht mehr und nicht weniger.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

Hi! :cool:

Mein Hauptanliegen, einen Rahmen rund um die Wiki-Anzeige zu bekommen, ist gelöst. Dazu habe ich zwei Templates erstellt:

wikipedia_oben.tpl

Code: Alles auswählen

{MENUE}

<table width="100%" cellpadding="1" cellspacing="1" border="0" class="wikiline">
  <tr>
    <td
wikipedia_unten.tpl

Code: Alles auswählen

    </td>
  </tr>
<table width="100%" cellpadding="1" cellspacing="1" border="0" class="forumline">
Diese habe ich so in die wikipedia.php eingebunden:

Code: Alles auswählen

# --- suche:

function callback($wikibuffer)
{

# --- davor:

$template->pparse('wikipedia_oben');

# ---suche:

$template->assign_var_from_handle('wikipedia_oben', 'wikipedia_oben');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

# --- davor:

$template->assign_var_from_handle('wikipedia_unten', 'wikipedia_unten');
$template->pparse('wikipedia_unten');
Dann noch in die page_header.php:

Code: Alles auswählen

$template->set_filenames(array(
    'wikipedia_oben' => 'wikipedia_oben.tpl')
);

$template->assign_var_from_handle('WIKIPEDIA_OBEN', 'wikipedia_oben');

$template->set_filenames(array(
    'wikipedia_unten' => 'wikipedia_unten.tpl')
);
eingefügt und schwupps war der Rahmen da. :rolleyes:

Oder geht's auch einfacher?

Bye/2
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Also ich hab mich schon verzweifelt daran versucht, daher sage ich mal:
Nein, das ist einfach genug. Bislang.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Beitrag von Dungeonwatcher »

'n Abend! :cool:

Schön das ich auch mal was produktives beitragen konnte. ^q

PS: Dein Smiliefenster "Weitere Smilies ansehen" geht nach kurzer Zeit alleine wieder zu. Das gefällt mir. Wo gibt's den Mod dafür?? :rolleyes:

Bye/2
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

<!-- Off-Topic -->
http://www.oxpus.de/fpost-34230.html#34230
<!-- ON Topic -->
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
helluvaguy
Beiträge: 128
Registriert: Di 06.Apr, 2004 20:22

Beitrag von helluvaguy »

Code: Alles auswählen

 # ---suche:

 $template->assign_var_from_handle('wikipedia_oben', 'wikipedia_oben');
 include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
Davon kann ich aber nur die zweite Zeile finden.

Und wo soll der Code für den page_header.php hin? Ich habe ihn direkt hinter

Code: Alles auswählen

//
// Parse and show the Wikipedia.
//
$template->set_filenames(array(
    'wikipedia' => 'wikipedia.tpl')
);
gepackt, alles hochgeladen, doch der umschießende rahmen bleibt bei mir aus.

Dungeonwatcher könntest Du mal bitte deine wikipedia.php hier als zip dranhängen, damit ich mal vergleichen kann?
Zuletzt geändert von helluvaguy am So 05.Jun, 2005 09:41, insgesamt 1-mal geändert.
Antworten