phpBB 3.1 Extensie: krijg het niet aan de praat
Al 3 uur bezig, maar kom geen steek verder.
Ik heb een extension gemaakt voor phpBB 3.1, exact volgens de (ontzettend beknopte) handleiding op https://www.phpbb.com/extensions/writing/
Elk ding lijkt mij goed en de extension wordt ook goed 'geïnstalleerd' in het ACP.
Maar het doet NIETS!
Bestanden (het zijn er 2...): http://www.zunflappie.nl/phphulp/ext.zip
Live voorbeeld op http://zunflappie.nl/phpbb31/posting.php?mode=reply&f=2&t=4
Je kan inloggen met admin/admin en dan kan je ook de admin in...
Weet iemand wat ik fout doet? Want anders kom ik geen steek verder en heb nog minstens 5 extensions te maken, waarvan dit wel de kleinste is.
Het enig wat ik met deze extensie wil doen is het vervangen van 1 template-bestand.
Ja: ik kan er een nieuwe stijl voor maken, maar er gaat nog meer bijkomen, dus het moet gewoon met een extensie kunnen.
Maar nu nog een nieuwe pagina toevoegen:
/ext/erkelens/topicphotoalbum/config/services.yml:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
services:
erkelens.topicphotoalbum.controller:
class: erkelens\topicphotoalbum\controller\main
arguments:
- @config
- @controller.helper
- @template
- @user
erkelens.topicphotoalbum.controller:
class: erkelens\topicphotoalbum\controller\main
arguments:
- @config
- @controller.helper
- @template
- @user
/ext/erkelens/topicphotoalbum/config/routing.yml:
Code (php)
1
2
3
2
3
erkelens_topicphotoalbum_controller:
path: /erkelens/{name}
defaults: { _controller: erkelens.topicphotoalbum.controller:handle }
path: /erkelens/{name}
defaults: { _controller: erkelens.topicphotoalbum.controller:handle }
En tenslotte /ext/erkelens/topicphotoalbum/controller/main.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
/**
*
* @package phpBB Extension - Acme Demo
* @copyright (c) 2013 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace acme\demo\controller;
class main
{
/* @var \phpbb\config\config */
protected $config;
/* @var \phpbb\controller\helper */
protected $helper;
/* @var \phpbb\template\template */
protected $template;
/* @var \phpbb\user */
protected $user;
/**
* Constructor
*
* @param \phpbb\config\config $config
* @param \phpbb\controller\helper $helper
* @param \phpbb\template\template $template
* @param \phpbb\user $user
*/
public function __construct(\phpbb\config\config $config, \phpbb\controller\helper $helper, \phpbb\template\template $template, \phpbb\user $user)
{
$this->config = $config;
$this->helper = $helper;
$this->template = $template;
$this->user = $user;
}
/**
* Demo controller for route /demo/{name}
*
* @param string $name
* @return \Symfony\Component\HttpFoundation\Response A Symfony Response object
*/
public function handle($name)
{
$tekst = 'test';
$this->template->assign_var('TOPICPHOTOALBUM_HTML', $tekst);
return $this->helper->render('topicphotalbum.html', $name);
}
}
?>
/**
*
* @package phpBB Extension - Acme Demo
* @copyright (c) 2013 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace acme\demo\controller;
class main
{
/* @var \phpbb\config\config */
protected $config;
/* @var \phpbb\controller\helper */
protected $helper;
/* @var \phpbb\template\template */
protected $template;
/* @var \phpbb\user */
protected $user;
/**
* Constructor
*
* @param \phpbb\config\config $config
* @param \phpbb\controller\helper $helper
* @param \phpbb\template\template $template
* @param \phpbb\user $user
*/
public function __construct(\phpbb\config\config $config, \phpbb\controller\helper $helper, \phpbb\template\template $template, \phpbb\user $user)
{
$this->config = $config;
$this->helper = $helper;
$this->template = $template;
$this->user = $user;
}
/**
* Demo controller for route /demo/{name}
*
* @param string $name
* @return \Symfony\Component\HttpFoundation\Response A Symfony Response object
*/
public function handle($name)
{
$tekst = 'test';
$this->template->assign_var('TOPICPHOTOALBUM_HTML', $tekst);
return $this->helper->render('topicphotalbum.html', $name);
}
}
?>
Nu staan alle bestanden in /ext/erkelens/topicphotoalbum/
In /ext/erkelens/topicphotoalbum/styles/all/topicphotoalbum.html staat de template:
Code (php)
1
2
3
2
3
<!-- INCLUDE overall_header.html -->
{TOPICPHOTOALBUM_HTML}
<!-- INCLUDE overall_footer.html -->
{TOPICPHOTOALBUM_HTML}
<!-- INCLUDE overall_footer.html -->
Dus main.php moet topicphotalbum.html openen en daarin TOPICPHOTALBUM_HTML gevuld geven.
Probleem is nu dat ik de foutmelding No route found for "GET /ext/erkelens/topicphotalbum/topicphotoalbum.php" voor http://zunflappie.nl/phpbb31/topicphotoalbum.php?id=3 te zien krijg!
Gewijzigd op 02/01/2015 08:42:55 door Eddy E
https://www.phpbb.com/community/viewtopic.php?f=461&t=2211266&sid=54841143864a829ab063c12c70ab4833
Toevoeging op 02/01/2015 09:38:10:
https://www.phpbb.com/extensions/writing/#a-routing
Nee, daar staat wel het een en ander hoe je het kan maken, maar niet hoe je een template (waar géén EVENT in staat) kan vervangen.