Egna sidor i phpBB3

Svar på de vanligaste frågorna.

Moderatorer: Moderatorgrupp, Supportgrupp

Låst
Användarens profilbild
Sinom
Verified
Administratör
Administratör
Inlägg: 1506
Blev medlem: 2010-11-04 21:24
Svar: 13

Egna sidor i phpBB3

Inlägg av Sinom »

Den här artikeln är ursprungligen skriven utav Kjell i MOD-forumet.
Diskussion om denna artikel går att föra - här.

Hur skapar man egna sidor för phpBB3

<forumrot>minsida.php
<forumrot>/styles/<stil>/template/minsida_1.html
<forumrot>/styles/<stil>/template/minsida_2.html
<forumrot>/language/en/minsida.php
<forumrot>/language/sv/minsida.php
_____________________

Spara som <forumrot>minsida.php

Kod: Markera allt

<?php
/**
*
* Din egen sida
*
* Kjell @ www.phpbb-se.com * 2007
*
* Länka som minsida.php?visa=#
* Exempel: minsida.php?visa=sida_1
*
*/

define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
   

    // Start session management
    $user->session_begin();
    $auth->acl($user->data);

// Språkfiler /language/sv(och)en/minsida.php
    $user->setup('minsida'); // <-- Kan ändras


switch($_GET['visa'])
{
    case 'Sida_1': // <-- Ändra sida_1 till ett lämligt val
        $file = 'minsida_1.html'; // <-- Ändra html filens namn. 
    break;

    case 'whois':
        $file = 'minsida_2.html';
    break;
    
    case 'info':
        $file = 'minsida_3.html';
    break;

    default:
	        $file = 'minsida_1.html'; //<-- Det här är sidan öppnas utan att välja något.
    break;
}

// Vad ska sidan heta i webb-läsaren A-Z 0-9
    page_header('Min sida'); 

    $template->set_filenames(array(
        'body' => $file) 
    );

    page_footer();
?>
Spara som <forumroot>/language/sv/minsida.php
och <forumrot>/language/en/minsida.php

Kod: Markera allt

<?php
/**
*
* yourpage [English]
*
* @package language
* @version $Id: yourpage.php,v x.xxx yyyy/mm/dd hh:mm:ss Username Exp $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* DO NOT CHANGE
*/
if (empty($lang) || !is_array($lang))
{
    $lang = array();
}

// DEVELOPERS PLEASE NOTE
//
// 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(
    'TEXT_VAR'            => 'say something special',
    'ANOTHER_TEXT_VAR'  => 'say something else special',
));
?>

I minsida_1.html kan du välja om du ska ha formaterad eller oformaterad html.

Spara som <forumrot>/styles/<stil>/template/minsida_1.html

Kod: Markera allt

<!-- INCLUDE overall_header.html -->
<div>{L_TEXT_VAR}</div>
<div>{L_ANOTHER_TEXT_VAR}</div>
<!-- INCLUDE overall_footer.html -->
Språkfilerna ska sparas i UTF-8 format.
Användarens profilbild
Sinom
Verified
Administratör
Administratör
Inlägg: 1506
Blev medlem: 2010-11-04 21:24
Svar: 13

Re: Egna sidor i phpBB3

Inlägg av Sinom »

Om ni vill ha med er sida på "vem är online"

Öppna <forumrot>/viewonline.php
Hitta:

Kod: Markera allt

        default:
            $location = $user->lang['INDEX'];
            $location_url = append_sid("{$phpbb_root_path}index.$phpEx"); 
Lägg till före:

Kod: Markera allt

        case 'din_sida': // det är din php sida (exludera .php)
            $location = $user->lang['DIN_SIDA];
            $location_url = append_sid("{$phpbb_root_path}din_sida.$phpEx");
        break; 
Eller om ni vill att alla sidor visas som har en "session" uppe. (fixat ett fel i koden 5/1-2010)

Kod: Markera allt

            default:
                if ($auth->acl_get('a_'))
                {
                    $location = $row['session_page'];
                    $location_url = append_sid($row['session_page']);
                }
                else
                {
                    $location = $user->lang['INDEX'];
                    $location_url = append_sid("{$phpbb_root_path}index.$phpEx");
                } 
Användarens profilbild
Sinom
Verified
Administratör
Administratör
Inlägg: 1506
Blev medlem: 2010-11-04 21:24
Svar: 13

Re: Egna sidor i phpBB3

Inlägg av Sinom »

Om ni vill blockera gäster, sökmotorer till er egen sida och dom måste logga in för att se sidan.

Hitta den här texten i exemplet ovanför:

Kod: Markera allt

// Språkfiler /language/sv(och)en/minsida.php
    $user->setup('minsida'); // <-- Kan ändras
Lägg till efter:

Kod: Markera allt

// Endast registrerade kan se sidan
if (!$user->data['is_registered'])
{
   if ($user->data['is_bot'])
   {
      redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
   }

   login_box('', $user->lang['LOGIN_EXPLAIN_UCP']);
}
Låst

Vilka är online

Användare som besöker denna kategori: 3 och 0 gäster