3.2.3 - интеграция в smarty и авторизация - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

3.2.3 - интеграция в smarty и авторизация

#1 Пользователь не на сайте   Dimsby ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 2
  • Регистрация: 09-Октябрь 12
  • Репутация: 0
  • IPB version:3.2.x
 

Отправлено 09 Октябрь 2012 - 11:32

Есть сайт c шаблонизатором smarty и отдельно стоит форум, откуда на сайт парсятся новости.

Код шаблона смарти:
{foreach from=$items item=topic}
    <div class="box">
            <a href="/news/{$topic.tid}" name="{$topic.tid}">{$topic.title}</a>
            <a href="/forum/index.php?showtopic={$topic.tid}" class="box_comment">{$topic.posts}</a>
            </h1>          
            <div class="box_content">
            {$topic.text|parseipb}          
            </div>
    </div> 
{/foreach}


Код плагина для смарти parseipb:
require_once($_SERVER['DOCUMENT_ROOT'].DIRSEP.'forum/initdata.php' );
require_once($_SERVER['DOCUMENT_ROOT'].DIRSEP.'forum/admin/sources/base/ipsRegistry.php' );
function smarty_modifier_parseipb($string) {    
    $registry = ipsRegistry::instance();
    $registry->init();
   
    IPSText::getTextClass('bbcode')->parse_html = 0;
    IPSText::getTextClass('bbcode')->parse_nl2br = 1;
    IPSText::getTextClass('bbcode')->parse_bbcode = 1;
    IPSText::getTextClass('bbcode')->parse_smilies = 0;

    $string = IPSText::getTextClass('bbcode')->preDisplayParse($string);  
    return $string;
}


Код работает и bbcode ipb парсится на сайт. Проблема в том, что уже залогиненные на форуме пользователи разлогиниваются, когда заходят на сайт со страничкой новостей. Подскажите, как поправить.
0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 721
  • Регистрация: 20-Март 09
  • Репутация: 2 269
  • IPB version:3.1.x
 

Отправлено 09 Октябрь 2012 - 12:23

Как-то вы неправильно подключаете ядро

define( 'IPB_THIS_SCRIPT', 'public' );
define( 'IPS_PUBLIC_SCRIPT', 'index.php');
define( 'IPS_ENFORCE_ACCESS', true); // с 3.1.*
require_once( 'initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );

$registry = ipsRegistry::instance();
$registry->init();


ipsRegistry::instance();
ipsRegistry::init();

0

#3 Пользователь не на сайте   Dimsby ответил: »

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 2
  • Регистрация: 09-Октябрь 12
  • Репутация: 0
  • IPB version:3.2.x
 

Отправлено 12 Октябрь 2012 - 18:37

Все равно сбрасывается авторизация.
function smarty_modifier_parseipb($string) {
    define( 'IPB_THIS_SCRIPT', 'public' );
    define( 'IPS_PUBLIC_SCRIPT', 'index.php');
    define( 'IPS_ENFORCE_ACCESS', true);
    
    require_once( $_SERVER['DOCUMENT_ROOT'].DIRSEP.'forum/initdata.php' );
    require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
    require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );
    
    $registry = ipsRegistry::instance();
    $registry->init();
    
    $member = $registry->member()->fetchMemberData();
    var_dump($member["members_display_name"]);
   
    IPSText::getTextClass('bbcode')->parse_html = 0;
    IPSText::getTextClass('bbcode')->parse_nl2br = 1;
    IPSText::getTextClass('bbcode')->parse_bbcode = 1;
    IPSText::getTextClass('bbcode')->parse_smilies = 0;

    $string = IPSText::getTextClass('bbcode')->preDisplayParse($string);  
    return $string;
}


Эта функция лежит в /lib/smarty/plugins/ , форум /forum/ и страничка откуда вызывается шаблон в корне.
Подскажите, где еще может быть ошибка? :(

Сообщение изменено: Dimsby (12 Октябрь 2012 - 18:37)

0

#4 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 531
  • IPB version:3.4.x
 

Отправлено 12 Октябрь 2012 - 21:13

В пути для cookies. Как вариант, из-за ваших настроек на сайте могут быть недоступны cookies форума, и тогда сайт создает новую гостевую cookie, которая перетирает форумную. Задайте в настройках форума путь для cookies как "/", и домен заодно свой пропишите.
0

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна