Как да работим с променливите в MyBB?

В този раздел ще се поместват уроците, свързани с програмирането и дизайна.
Post Reply
User avatar
Anti-Corruption
V.I.P
V.I.P
Posts: 433
Joined: 07 Feb 2012, 18:09

Как да работим с променливите в MyBB?

Post by Anti-Corruption »

Тази тема ще ви даде ясна представа как правилно да работите с променливите в темплейтите на MyBB, също и в php абривиатура, ако решите да интегрирате.

1. MyBB НЕ работи с обикновеното PHP в темплейтите. За целта е нужен мод, но обикновения синтаксис не е пригоден за да работи. Давам ви пример със следното: <?php echo $_SERVER['REMOTE_ADDR']; ?> - това, поставено в темплейта на MyBB няма да работи, а ще изведе кода като обикновен текст или просто няма да се запази от съображения за сигурност в MyBB. Заменяте синтаксиса със следният: {$_SERVER['REMOTE_ADDR']} - това вече ще работи коректно.

2. MyBB е лесен за интеграция и за извеждане на информация през темплейтите, посредством нужния синтаксис.

Примери, които извеждат част от профилната информация в темите (Postbit):

{$post['userstars']} - извежда звездите на съответната потребителска група или на съответния потребител (тези в bd)
{$post['groupimage']} - извежда изображението на потребителската група, в която членува съответния потребител
{$post['usertitle']} - извежда титлата на потребителя (тази по default на групата или друга, избрана от съответния потребител)

Променливи в .php файлове, пригодени за интеграция или просто за извеждане на информация.

1. Винаги използвайте абстракцията на MyBB -

Примери:

Използвайте $db->fetch_array вместо mysql_fetch_array и/или $db->num_rows вместо mysql_num_rows.

Примери за евентуални заявки към MySQL:

$db->write_query("ALTER TABLE `".TABLE_PREFIX."users` DROP `passwordreset`;");
$db->delete_query("settinggroups", "name = 'passwordreset'");
$db->delete_query('settings', 'name IN ( \'passwordreset\', \'passwordreset_days\', \'passwordreset_everypage\' )');

Синтаксис за промяна на темплейти:

Code: Select all

}
function promenliva($template, $find, $replace)
{
require_once MYBB_ROOT.'/inc/adminfunctions_templates.php';
find_replace_templatesets(
$template,
'#'.preg_quote($find).'#',
$replace
);
Примери за извеждане на lang от mybb:

Code: Select all

$lang = passwordreset_lang();
Post Reply

Return to “Учебни теми”