vítejte na prvním seriálu tvorby vlastního phpBB rozšíření. V tomto seriálu si ukážeme jak si vytvořit vlastní rozšíření a jak jím obohatit už tak bohaté funkce phpBB. phpBB totiž od verze 3.1 přepracovalo tehdejší módy (které se "instalovaly" ruční úpravou souborů) v modernější rozšíření, které nainstalujete na pár kliknutí.
V tomto seriálu budeme tvořit rozšíření pro aukce, vlastní aukční systém. Takové rozšíření phpBB v současné chvíli chybí, tak jej rovnou vytvoříme.
Náročnost:
Tento návod předpokládá, že víte co to je FTP a umíte s ním pracovat. Dále, že znáte alespoň základy programování v PHP a máte nainstalovaný program ve kterém budete programovat (stačí PSPad).
Veškeré úpravy dělejte na testovacím fóru, nikoliv na produkčním serveru. V případě chyby si totiž můžete vyřadit funkční projekt z provozu.
Začátek
- přihlásíme se na FTP našeho testovacího fóra
- otevřete složku ext
- vytvořte si vlastní složku (používám webdeal, jde o složku autora; složka je pak uvedena i v dalších souborech, tak v začátcích můžete použít stejnou)
- jděte do Vámi vytvořené složky (u mě již zmíněno webdeal) a vytvořte další složku. Tentokrát půjde o složku rozšíření. Nahoře jsem zmínil, že budeme tvořit aukci, proto ji pojmenujeme auctions
composer.json
Daný soubor má strukturu níže, pokud jste složku autora pojmenovali webdeal, pak můžete obsah souboru zkopírovat do souboru composer.json.
Kód: Vybrat vše
{
"name": "webdeal/auctions",
"type": "phpbb-extension",
"description": "Popisek rozšíření",
"homepage": "https://www.vase-webova-stranka.cz",
"version": "1.0.0",
"keywords": ["phpbb", "auctions", "webdeal"],
"license": "GPL-2.0",
"authors": [
{
"name": "Jméno vývojáře",
"username": "Vaše uživatelské jméno na phpBB.com",
"email": "vas@email.cz",
"role": "Developer"
}
],
"require": {
"php": ">=5.3"
},
}
Při kopírování nezapomeňte změnit řádek namespace, kde je uvedena SLOŽKA AUTORA a SLOŽKA ROZŠÍŘENÍ, podle Vašeho nastavení.
Kód: Vybrat vše
<?php
/**
*
* phpBB Add list page with links with topics in viewforum page extension for the phpBB Forum Software package.
*
* @copyright (c) 2014 phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
*/
namespace webdeal\auctions;
/**
* Extension class for custom enable/disable/purge actions
*
* NOTE TO EXTENSION DEVELOPERS:
* Normally it is not necessary to define any functions inside the ext class below.
* The ext class may contain special (un)installation commands in the methods
* enable_step(), disable_step() and purge_step(). As it is, these methods are defined
* in phpbb_extension_base, which this class extends, but you can overwrite them to
* give special instructions for those cases.
*/
class ext extends \phpbb\extension\base
{
}
Na závěr přikládám aktuální podobu rozšíření na konci dílu. Můžete tak porovnat s vlastním řešením, kde se třeba stala chyba.