Pagina 1 van 1
Tekst via module op website plaatsen
Geplaatst: 14 jun 2013, 14:47
door Gerard316
phpBB versie: 3.0.11
Hallo allemaal,
Tijd terug ben ik bezig om een website te maken om phpbb. Hiermee zit ik lekker te testen enzo.
Nu ben ik uitgekomen om een nieuwe module te maken.
Nu heb ik dus een module gemaakt en het ziet er zo uit:
http://imageshack.us/a/img248/3079/jm72.jpg
Via deze module wil ik de tekst die ik er op zet op de website late plaatsen.
Nu is mijn vraag hoe doe ik dat?
Als ik dit weet zal ik zeker een weg moeten vinden om mijn andere modules er ook op te zetten zoals, Nieuws, Uitslagen ect ect.
Wie o wie kan mij helpen?
Re: Tekst vis module op website plaatsen
Geplaatst: 15 jun 2013, 08:58
door David
Als ik je vraag goed begrijp wil je verschillende pagina's aanmaken op je forum. Maar waarom moeilijk doen als het ook makkelijk kan... met bijvoorbeeld:
https://www.phpbb.com/customise/db/mod/static_pages/ Hiermee kun je in je Beheerderspaneel pagina's aanmaken. Met deze MOD heb ik mijn website ook omgetoverd tot een website. Misschien heb je er iets aan?
Re: Tekst via module op website plaatsen
Geplaatst: 15 jun 2013, 11:02
door Gerard316
Ik wil het liefts zonder mod doen.
Dit heb ik nu staan in /acp/overons
Code: Selecteer alles
<?php
/**
*
* @package acp
* @version $Id: acp_overons.php,v 1.18 2007/10/14 10:07:52 jenaam Exp $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* @package acp
*/
class acp_overons
{
var $u_action;
function main($id, $mode)
{
global $db, $user, $auth, $template, $cache;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
$user->add_lang('acp/website_settings');
if(isset($_POST['submit']) != "") {
$overons = $_POST['message'];
if(mysql_num_rows(safe_query("SELECT * FROM ".PREFIX."overons"))) safe_query("UPDATE ".PREFIX."overons SET overons='".$overons."'");
else safe_query("INSERT INTO ".PREFIX."overons (overons) values( '".$overons."') ");
redirect("", "", 0);
}
//set some template vars and files
$this->tpl_name = 'acp_overons';
$this->page_title = 'acp_overons';
}
}
?>
Heb ik dat zo goed gedaan of doe ik het verkeerd?
Code: Selecteer alles
<!-- INCLUDE overall_header.html -->
<a name="maincontent"></a>
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">« {L_BACK}</a>
<h1>{L_ACP_OVERONS}</h1>
<p>{L_ACP_OVER_ONS_EXPLAIN}</p>
<form id="overons" method="post" action="">
<textarea id="message" name="message" rows="30" cols="" style="width: 100%;"></textarea>
<input type="submit" name="submit" value="Verzenden" />
</form>
<!-- INCLUDE overall_footer.html -->
Wat moet ik bij ACTION=" " zetten?
Moet ik daar gewoon {U_ACTION} bij zetten?
Re: Tekst via module op website plaatsen
Geplaatst: 19 jun 2013, 14:24
door Gerard316
Iemand?
Re: Tekst via module op website plaatsen
Geplaatst: 19 jun 2013, 22:31
door John P
Zonder mod kan je niets toevoegen aan een phpbb forum.
Verder zou ik je ook aanraden om de db layer van phpbb te gebruiken.
Variabelen vraag je dan op met request_var, dan voldoen ze al vanzelf aan de eisen van phpbb en zijn ze ook veilig.
Wat safequery voor iets is, geen idee....
Vul je niets in bij action dan post je naar dezelfde pagina en bij een goede classdefinitie kan je U_ACTION invullen door hem toe te wijzen aan $this->u_action. Die verwijzingen mis ik in je script.
Re: Tekst via module op website plaatsen
Geplaatst: 20 jun 2013, 14:06
door Gerard316
John P schreef:Zonder mod kan je niets toevoegen aan een phpbb forum.
Verder zou ik je ook aanraden om de db layer van phpbb te gebruiken.
Variabelen vraag je dan op met request_var, dan voldoen ze al vanzelf aan de eisen van phpbb en zijn ze ook veilig.
Wat safequery voor iets is, geen idee....
Vul je niets in bij action dan post je naar dezelfde pagina en bij een goede classdefinitie kan je U_ACTION invullen door hem toe te wijzen aan $this->u_action. Die verwijzingen mis ik in je script.
Bedankt voor je reactie.
Zoals beloofd zou ik er op terug komen na onze gesprek.
Zoals je weet wil ik alles via de beheerderspaneel doen.
Ik ben nu bezig met include/apc/overons.php en het ziet er zo uit:
Code: Selecteer alles
<?php
/**
*
* @package acp
* @version $Id: acp_overons.php,v 1.18 2007/10/14 10:07:52 jenaam Exp $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* @package acp
*/
class acp_overons
{
var $u_action;
function main($id, $mode)
{
global $db, $user, $auth, $template, $cache;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
$user->add_lang('acp/website_settings');
switch ($action)
{
case 'save':
// Check the form key, set at the beginning
if (!check_form_key($form_name))
{
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
// Get all the data
$overons = utf8_normalize_nfc(request_var('overons', '', true));
// Check the fields, we don't want empty ones
if (!$overons)
{
trigger_error($user->lang['NO_overons_US'] . adm_back_link($this->u_action), E_USER_WARNING);
}
// save
if ($overons)
{
$sql = "SELECT * FROM ".PREFIX."overons";
$message = $user->lang['PAGE_UPDATED'];
}
//update
if ($overons)
{
$sql = "UPDATE ".PREFIX."overons SET overons='".$overons."'";
$message = $user->lang['PAGE_UPDATED'];
}
$db->sql_query($sql);
trigger_error($message . adm_back_link($this->u_action));
}
//set some template vars and files
$this->tpl_name = 'acp_overons';
$this->page_title = 'acp_overons';
}
}
?>
Heb ik dit een beetje goed gedaan of zit er nog wat fouten tussen?
Re: Tekst via module op website plaatsen
Geplaatst: 22 jun 2013, 21:52
door John P
Je had gevraagd voor opmerkingen, daar gaan we dan.
Wordt wel een leerzaam projectje zo niet?
if ($overons) doe je twee keer, waarom?
Doe nooit SELECT * maar benoem de velden die je wilt gebruiken in je query.
De tabel PREFIX.overons moet je benoemen in je constants.php file, de PREFIX constante bestaat niet in phpbb.
Met de output van de select query doe je niets.
In het kort de volgende werkwijze aanhouden.
De inhoud aan de overons tabel updaten of toevoegen d.m.v. check op posten.
Daarna de inhoud die je wilt hebben ophalen en in template variablelen toewijzen aan je template.
In je ACP kan je dan de oude inhoud zien en aanpassen en daarna weer opslaan.
Groet