PHP Code im eigenen Block
Forum rules
Vor dem erstellen neuer Supportanfragen bitte zuerst in die board3 Portal FAQ schauen und die Suche benutzen!
Viele Fragen sind bereits schon gestellt und beantwortet worden.
Bitte auch unsere Forumsregeln lesen und beachten!
Vor dem erstellen neuer Supportanfragen bitte zuerst in die board3 Portal FAQ schauen und die Suche benutzen!
Viele Fragen sind bereits schon gestellt und beantwortet worden.
Bitte auch unsere Forumsregeln lesen und beachten!
PHP Code im eigenen Block
Deine Portal Version: 2.1.0-RC1
Typ Deines phpBB Forums: Standard phpBB3
MODs installiert: Nein
Dein Wissensstand: Grundwissen
Link zu Deinem Forum: zur Zeit lokal im Test
PHP Version: 5.3
MySQL Version: 5.5
Was hast Du gemacht, bevor das Problem aufgetreten ist?
Was hast Du bereits versucht um das Problem zu lösen?
Aus meiner Sicht alle Möglichkeiten ausprobiert.
Fehlerbeschreibung und Nachricht
Ich würde gerne in einem eigenen Block PHP-Code ausführen und das Ergebnis angezeigt bekommen. Laut diesem Link: viewtopic.php?f=23&t=10691
(ganz unten) sollte dies auch möglich sein.
Egal ob ich einen iFrame einbinde oder nicht ist es mir nicht mal möglich mit echo "123"; irgendetwas auszugeben.
Gruß Berthold
Typ Deines phpBB Forums: Standard phpBB3
MODs installiert: Nein
Dein Wissensstand: Grundwissen
Link zu Deinem Forum: zur Zeit lokal im Test
PHP Version: 5.3
MySQL Version: 5.5
Was hast Du gemacht, bevor das Problem aufgetreten ist?
Was hast Du bereits versucht um das Problem zu lösen?
Aus meiner Sicht alle Möglichkeiten ausprobiert.
Fehlerbeschreibung und Nachricht
Ich würde gerne in einem eigenen Block PHP-Code ausführen und das Ergebnis angezeigt bekommen. Laut diesem Link: viewtopic.php?f=23&t=10691
(ganz unten) sollte dies auch möglich sein.
Egal ob ich einen iFrame einbinde oder nicht ist es mir nicht mal möglich mit echo "123"; irgendetwas auszugeben.
Gruß Berthold
Re: PHP Code im eigenen Block
Hallo Berthold,
gehe einfach unten in dem Eingabefeld bei "BBCode für den eigenen Block aktivieren" auf nein und füge deinen Code dort ein.
LG
Bert
gehe einfach unten in dem Eingabefeld bei "BBCode für den eigenen Block aktivieren" auf nein und füge deinen Code dort ein.
LG
Bert
Re: PHP Code im eigenen Block
Hallo Bert,
erst mal vielen Dank für die superschnelle Antwort. Aber entweder steht ich jetzt total auf dem Schlauch oder es gibt einen neuen Fehler.
Natürlich habe ich bevor ich das Thema eröffnet habe ausprobiert was passiert wenn ich den Code dort einfüge.
Das Ergebnis ist immer gleich HTML wird ausgeführt alles was sich zwischen den php-Tags befindet hat keine Funktion.
Beispiel:
------------------------- Block ----------------------
Testanfanf <br>
<?php
echo "Aber Hallo!!!";
phpinfo();
?>
<br>
Testende
-------------------------------------------------------
Es wird folgende Ausgabe im eigenen Block erzeugt:
Testanfang
Testende
Dazwischen fehlt was. Board Version 2.1.0 RC1.
Was kann ich noch testen???
Gruß Berthold
erst mal vielen Dank für die superschnelle Antwort. Aber entweder steht ich jetzt total auf dem Schlauch oder es gibt einen neuen Fehler.
Natürlich habe ich bevor ich das Thema eröffnet habe ausprobiert was passiert wenn ich den Code dort einfüge.
Das Ergebnis ist immer gleich HTML wird ausgeführt alles was sich zwischen den php-Tags befindet hat keine Funktion.
Beispiel:
------------------------- Block ----------------------
Testanfanf <br>
<?php
echo "Aber Hallo!!!";
phpinfo();
?>
<br>
Testende
-------------------------------------------------------
Es wird folgende Ausgabe im eigenen Block erzeugt:
Testanfang
Testende
Dazwischen fehlt was. Board Version 2.1.0 RC1.
Was kann ich noch testen???
Gruß Berthold
Re: PHP Code im eigenen Block
Hallo
Wenn du mit php arbeiten willst, so musst du dir ein neues Modul erstellen.
Dazu gehören die php Datei, language Datei sowie die html Datei, schau dir mal die root/ext/board3/portal/modules/default.php an.
Lies dir mal diese Doku durch, ist zwar für V. 2.0.0
aber einiges hat sich nicht verändert.
Wenn du nur einen iFrame ein binden willst, kannst du es in einen eigenen Block machen z.b. mit einem BBCode.
Wenn du mit php arbeiten willst, so musst du dir ein neues Modul erstellen.
Dazu gehören die php Datei, language Datei sowie die html Datei, schau dir mal die root/ext/board3/portal/modules/default.php an.
Lies dir mal diese Doku durch, ist zwar für V. 2.0.0
aber einiges hat sich nicht verändert.
Wenn du nur einen iFrame ein binden willst, kannst du es in einen eigenen Block machen z.b. mit einem BBCode.
Gruß Udo
Re: PHP Code im eigenen Block
Hallo Udo,
ich habe versucht ein eigenes Modul zu erstellen. Hatte aber leider keinen Erfolg.
Schon deine Aussage - einiges hat sich nicht verändert - hätte mich stutzig machen müssen. Anders interpretiert bedeutet dies doch, dass sich das Meiste geändert hat. Ich habe mir einige Modul angeschaut und hoffe das ich nicht ganz daneben liege. Da mein Modul aber nicht in der Auswahl erscheint hier die konkrete Frage:
Was muss erfüllt sein, damit ein neues Modul bei der Installation überhaupt angezeigt wird???
Gibt es nicht irgendwo ein aktuelles Beispiel Modul für Portal 2.1 was nur "Hello World" über PHP ausgibt?
Gruß Berthold
ich habe versucht ein eigenes Modul zu erstellen. Hatte aber leider keinen Erfolg.
Schon deine Aussage - einiges hat sich nicht verändert - hätte mich stutzig machen müssen. Anders interpretiert bedeutet dies doch, dass sich das Meiste geändert hat. Ich habe mir einige Modul angeschaut und hoffe das ich nicht ganz daneben liege. Da mein Modul aber nicht in der Auswahl erscheint hier die konkrete Frage:
Was muss erfüllt sein, damit ein neues Modul bei der Installation überhaupt angezeigt wird???
Gibt es nicht irgendwo ein aktuelles Beispiel Modul für Portal 2.1 was nur "Hello World" über PHP ausgibt?
Gruß Berthold
Re: PHP Code im eigenen Block
So ein Modul besteht aus 3 Teilen 1. die php Datei, 2. die language Datei und 3. die html Datei.Berthold wrote:Was muss erfüllt sein, damit ein neues Modul bei der Installation überhaupt angezeigt wird???
Wenn du so ein Modul erstellst musst z.b. in der php Datei bei public $name = einen Modul Namen verwenden der noch nicht verwendet wird.
Schau dir mal folgende Dateien an ./ext/board3/portal/modules/custom.php
./ext/board3/portal/language/deinesprache/portal_custom_module.php
./ext/board3/portal/styles/stylename/template/portal/modules/custom_center.html bzw. custom_side.html
Für diese Version gibt es noch nichts.Berthold wrote:Gibt es nicht irgendwo ein aktuelles Beispiel Modul für Portal 2.1 was nur "Hello World" über PHP ausgibt?
Gruß Udo
Re: PHP Code im eigenen Block
Hallo Udo,
noch mal Danke für die Infos. Ich habe es nun schon mehrfach ohne Erfolg probiert.
Könntest Du oder jemand anderes mal bitte einen Blick auf die folgenden Dateien werfen und mir sagen was da falsch ist?
Das ist die Moduldatei tr_map.php die im Verzeichnis portal/modules/ liegt.
Diese Datei mit dem Namen portal_tr_map_module.php liegt in alle Sprachordnern (z. B. portal/languae/de/modules/) liegt
Diese HTML-Datei mit Namen tr_map_center.html befindet sich in allen Styleordnern (z. B. portal/styles/prosilver/template/portal/modules/).
Das neue Modul erscheint nicht in der Liste der hinzufügbaren Module. Ich habe bord3 deaktiviert und wieder aktiviert, Browsercache gelöscht und abgeschaltet, Apache neu gestartet,... Alles ohne Erfolg. Ich wäre dankbar wenn mir irgendwer erklären könnte was ich hier falsch mache. Ich verwende phpBB3 Version 3.1.2 und board3 Version 2.1.0 RC 1.
Gruß Berthold
noch mal Danke für die Infos. Ich habe es nun schon mehrfach ohne Erfolg probiert.
Könntest Du oder jemand anderes mal bitte einen Blick auf die folgenden Dateien werfen und mir sagen was da falsch ist?
Code: Select all
<?php
/**
*
* @package Board3 Portal v2.1 - TR MAP
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace board3\portal\modules;
/**
* @package TR MAP
*/
class tr_map extends module_base
{
/**
* Allowed columns: Just sum up your options (Exp: left + right = 10)
* top 1
* left 2
* center 4
* right 8
* bottom 16
*/
public $columns = 21;
/**
* Default modulename
*/
public $name = 'PORTAL_TR_MAP';
/**
* Default module-image:
* file must be in "{T_THEME_PATH}/images/portal/"
*/
public $image_src = '';
/**
* module-language file
* file must be in "language/{$user->lang}/mods/portal/"
*/
public $language = 'portal_tr_map_module';
/**
* custom acp template
* file must be in "adm/style/portal/"
*/
public $custom_acp_tpl = '';
/** @var \phpbb\config\config */
protected $config;
/** @var \phpbb\db\driver */
protected $db;
/** @var \phpbb\template */
protected $template;
/** @var \phpbb\user */
protected $user;
/**
* Construct a tr-map object
*
* @param \phpbb\config\config $config phpBB config
* @param \phpbb\db\driver $db phpBB db driver
* @param \phpbb\template $template phpBB template
* @param \phpbb\user $user phpBB user object
*/
public function __construct($config, $db, $template, $user)
{
$this->config = $config;
$this->db = $db;
$this->template = $template;
$this->user = $user;
}
/**
* {@inheritdoc}
*/
public function get_template_center($module_id)
{
/* $text = "Bingo Bango";
$this->template->assign_vars(array(
'PORTAL_WELCOME_MSG' => $text,
)); */
return 'tr_map_center.html';
}
/**
* {@inheritdoc}
*/
public function get_template_acp($module_id)
{
return array(
'title' => 'ACP_PORTAL_TR_MAP',
'vars' => array(),
);
}
/**
* {@inheritdoc}
*/
public function install($module_id)
{
$this->config->set('board3_tr_map_' . $module_id, '');
return true;
}
/**
* {@inheritdoc}
*/
public function uninstall($module_id, $db)
{
$this->config->delete('board3_tr_map_' . $module_id);
return true;
}
}
Code: Select all
<?php
/**
*
* @package Board3 Portal v2.1 - Forum Mitgliederkarte
* @copyright (c) 2013 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'PORTAL_TR_MAP' => 'Karte mit Standorten',
// ACP
'ACP_PORTAL_TR_MAP' => 'Mitgliederkarte',
));
Code: Select all
{$C_BLOCK_H_L}{$TITLE}{$C_BLOCK_H_R}
<table class="tablebg" cellspacing="1" width="100%">
<tr class="row1">
<td style="padding:5px 5px 5px 5px;">
<div class="postbody">
{PORTAL_WELCOME_MSG}
</div>
</td>
</tr>
</table>
{$C_BLOCK_F_L}{$C_BLOCK_F_R}
Das neue Modul erscheint nicht in der Liste der hinzufügbaren Module. Ich habe bord3 deaktiviert und wieder aktiviert, Browsercache gelöscht und abgeschaltet, Apache neu gestartet,... Alles ohne Erfolg. Ich wäre dankbar wenn mir irgendwer erklären könnte was ich hier falsch mache. Ich verwende phpBB3 Version 3.1.2 und board3 Version 2.1.0 RC 1.
Gruß Berthold
Re: PHP Code im eigenen Block
Hallo,
es geht, eine .php in den eigenen Block anzeigen lassen:
1. Am Angang ins php script einfügen.
2. Am Ende (.. für die Ausgabe.. echo ersetzen..) mit
3. Die php Datei in umbenennen.
4. Einfügen in eigenem Block mit
5. Aufruf im eigenen Block, ohne BBCode,
es geht, eine .php in den eigenen Block anzeigen lassen:
1. Am Angang ins php script
Code: Select all
header("Content-Type: text/javascript");
2. Am Ende (.. für die Ausgabe.. echo ersetzen..) mit
Code: Select all
document.writeln("<b><?=$zahl;?><\/b>");
Code: Select all
.._js.php
4. Einfügen in eigenem Block mit
Code: Select all
<div> </div>
Code: Select all
<script type="text/javascript" src=".._js.php"></script>