• Главная
  • » PHP
  • » Smarty на примере модификации форума PunBB

#91 2012.02.29 21:34

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Smarty на примере модификации форума PunBB

А, ок. Сделаю.

Неактивен

#92 2012.03.01 00:19

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Smarty на примере модификации форума PunBB

Да что такое, только вроде начал запускаться Smarty, теперь шаблоны не выводятся.
Хотя в них нет ошибок. Без скорлупы или как там, работало. sad
Добавлено спустя   7 минут  42 секунды:

wap/viewtopic.php

Код:

1
span style="color: #0000BB"><?php define('PUN_ROOT', '../');require_once(PUN_ROOT . 'include/common.php');require_once(PUN_ROOT . 'include/file_upload.php');require_once(PUN_ROOT . 'lang/' . $pun_user['language'] . '/post.php');//require_once(PUN_ROOT . 'wap/header.php');//require_once('header.php');require_once(PUN_ROOT . 'include/Smarty/Smarty.class.php');$smarty = new Smarty();$dir = PUN_ROOT . 'include/template/wap/' . $pun_user['style_wap'] . '/';$smarty->template_dir = $dir . 'tpls/';$smarty->compile_dir = $dir . 'compiled/';$smarty->config_dir = $dir . 'configs/';$smarty->cache_dir = $dir . 'cache/';//$this->caching = true;$smarty->assign('punDesignDir', $dir);

wap/header.php

Код:

1
span style="color: #0000BB"><?php if (! defined('PUN') or ! defined('PUN_ROOT')) exit(); define('PUN_HEADER', 1);require_once(PUN_ROOT . 'include/template.php');$smarty = new Pun_Template(PUN_ROOT . 'include/template/wap/' . $pun_user['style_wap'] . '/');if ($pun_user['g_id'] < PUN_GUEST) { $result_header = $db->query('SELECT COUNT(1) FROM `' . $db->prefix . 'reports` WHERE `zapped` IS NULL') or error('Unable to fetch reports info', __FILE__, __LINE__, $db->error()); if ($db->result($result_header)) { $conditions['reports'] = true; }}require PUN_ROOT . 'include/pms/wap_header_new_messages.php';

include/template.php

Код:

1
span style="color: #0000BB"><?php if (! defined('PUN')) exit(); define('PUN_TEMPLATE', 1);require_once('Smarty/Smarty.class.php');class Pun_Template extends Smarty{ public function __construct($dir) { $this->template_dir = $dir . 'tpls/'; $this->compile_dir = $dir . 'compiled/'; $this->config_dir = $dir . 'configs/'; $this->cache_dir = $dir . 'cache/'; //$this->caching = true; $this->assign('punDesignDir', $dir); }}

Отредактировано tipsun (2012.03.01 00:36)

Неактивен

#93 2012.03.01 00:33

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Smarty на примере модификации форума PunBB

Без прослойки работает, проверил. Ну шаблон собранный показывает.
Добавлено спустя   1 минуту  27 секунд:
Где-то я туплю, видимо.
Добавлено спустя   6 минут  48 секунд:
Пойду спать.

Отредактировано tipsun (2012.03.01 00:35)

Неактивен

#94 2012.03.02 14:25

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Smarty на примере модификации форума PunBB

Итак...
С прослойкой так и не разобрался.


Fatal error: Call to a member function createTemplate() on a non-object in L:\home\punbb.mod\www\include\Smarty\sysplugins\smarty_internal_templatebase.php on line 47

Отредактировано tipsun (2012.03.02 14:31)

Неактивен

#95 2012.03.02 14:57

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Smarty на примере модификации форума PunBB

Pun_Template - так не называй. такое название говорит о том, что этот класс должен быть в папке Pun и файл называться Template.php
какой код вызывается когда ты получаешь эту ошибку?

Неактивен

#96 2012.03.02 15:22

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Smarty на примере модификации форума PunBB

» #92 - вот там я все показал.
Без прослойки работает.
Хорошо, как назвать тогда? "include_template" = include/template.php

Отредактировано tipsun (2012.03.02 15:23)

Неактивен

#97 2012.03.02 17:50

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Smarty на примере модификации форума PunBB

класс PunTemplate назови.
файл include/PunTemplate.php

Неактивен

#98 2012.03.02 21:40

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Smarty на примере модификации форума PunBB

Ой бле! Вот я тормоз.
Метод надо так же как класс назвать, видимо. Сейчас попробую.

Код:

1
span style="color: #0000BB"><?phpclass Smarty_GuestBook extends Smarty { function Smarty_GuestBook() { // Конструктор класса. // Он автоматически вызывается при создании нового экземпляра. $this->Smarty(); $this->template_dir = '/web/www.example.com/guestbook/templates/'; $this->compile_dir = '/web/www.example.com/guestbook/templates_c/'; $this->config_dir = '/web/www.example.com/guestbook/configs/'; $this->cache_dir = '/web/www.example.com/guestbook/cache/'; $this->caching = true; $this->assign('app_name', 'Guest Book'); }}$smarty = new Smarty_GuestBook();

Отредактировано tipsun (2012.03.02 21:41)

Неактивен

#99 2012.03.02 21:46

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Smarty на примере модификации форума PunBB

нее, это из времен php4. в php5 кошерно коструктор называть __construct

Неактивен

#100 2012.03.02 21:46

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Smarty на примере модификации форума PunBB

Нет. Вот так получилось норм.

Код:

1
span style="color: #0000BB"><?php// include/template.phpif (! defined('PUN')) exit(); define('PUN_TEMPLATE', 1);require_once('Smarty/Smarty.class.php');class PunTemplate extends Smarty{ function PunTemplate($dir) { $this->__construct(); $this->template_dir = $dir . 'tpls/'; $this->compile_dir = $dir . 'compiled/'; $this->config_dir = $dir . 'configs/'; $this->cache_dir = $dir . 'cache/'; $this->assign('punDesignDir', $dir); }}// wap/header.phprequire_once(PUN_ROOT . 'include/template.php');$smarty = new PunTemplate(PUN_ROOT . 'include/template/wap/' . $pun_user['style_wap'] . '/');// wap/viewtopic.phprequire_once(PUN_ROOT . 'wap/header.php');

Добавлено спустя   3 минуты :

Gemorroj написал:

нее, это из времен php4. в php5 кошерно коструктор называть __construct

Да. smile
Нет - я говорил сам себе smile
Добавлено спустя   5 минут  35 секунд:
Ладно. Сейчас чуть по коду погуляю. Может че получится.

Отредактировано tipsun (2012.03.02 21:50)

Неактивен

  • Главная
  • » PHP
  • » Smarty на примере модификации форума PunBB

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.016 s