Перейти к контенту
  • 0

Использование IP.Board Engine


DivDivAdm

Вопрос

Беру код с сайта.

 

http://www.ibresource.ru/ipb3/network_and_integration/

 

 

require_once( './initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
$registry = ipsRegistry::instance();
$registry->init();

 

вылетает ошибка

[#404] К сожалению, не удалось найти запрашиваемую вами страницу. Пожалуйста вернитесь на главную страницу форума.

 

 

что делать? )=

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

если я правильно понял вы хотите создать свою страницу для IPB 3 ?

 

Нет. Хочу из вне создать тему на форуме, юзая движок ipb.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Так будет работать:

define( 'CCS_GATEWAY_CALLED', true );
define( 'IPB_THIS_SCRIPT', 'public' );
require_once( './initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
$registry = ipsRegistry::instance();
$registry->init();

 

Там старый код для 3.0.х.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Так будет работать:

define( 'CCS_GATEWAY_CALLED', true );
define( 'IPB_THIS_SCRIPT', 'public' );
require_once( './initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
$registry = ipsRegistry::instance();
$registry->init();

 

Там старый код для 3.0.х.

 

Поправил...если я код запихну в forum/1.php, то всё пашет

Но я у меня на сайте Zend Framework юзается. Ну там само собой глюк сначала был с Zend_Loader. Но я перед тем, как юзать ядро Лоудер отрубаю...но всё равно еррорка вылазиит.

 

с зендом дело никто не имел? В чём может быть ошибка?

 

А и ещё...если в ipsRegistry.php в Init методе в конце self::getClass('output')->showError( 'incorrect_furl', 404, null, null, 404 ); закомменчу, то тема создаётся...

Не понимаю ,как такое может быть...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Посмотрите на if рядом с этой строкой и вы увидите то самое CCS_GATEWAY_CALLED.

 

Когда недавно СЕОшники дружной кучей насели на IPS и затребовали сделать 404 для всех несуществующих страниц (раньше по несуществующим адресам вылавалась главная), разрабы не придумали ничего лучше кроме как выводить 404 всегда, когда явно не указано нужное приложение при инициализации registry, или если строка адреса не пустая/index.php/index. Потом они же сами написали компонент IP.Content, которому снаружи нужен доступ к registry, и поняли, какую ерунду они сделали. И в качестве решения окружили ошибку 404 проверкой на переменную CCS_GATEWAY_CALLED, которую задали в своей CCS (IP.Content). Собственно, вот почему у вас вылезало 404, и почему оно перестало вылезать при задании этой переменной.

 

Что за ошибка с Zend'ом? Текст приведете?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Посмотрите на if рядом с этой строкой и вы увидите то самое CCS_GATEWAY_CALLED.

 

Когда недавно СЕОшники дружной кучей насели на IPS и затребовали сделать 404 для всех несуществующих страниц (раньше по несуществующим адресам вылавалась главная), разрабы не придумали ничего лучше кроме как выводить 404 всегда, когда явно не указано нужное приложение при инициализации registry, или если строка адреса не пустая/index.php/index. Потом они же сами написали компонент IP.Content, которому снаружи нужен доступ к registry, и поняли, какую ерунду они сделали. И в качестве решения окружили ошибку 404 проверкой на переменную CCS_GATEWAY_CALLED, которую задали в своей CCS (IP.Content). Собственно, вот почему у вас вылезало 404, и почему оно перестало вылезать при задании этой переменной.

 

Что за ошибка с Zend'ом? Текст приведете?

 

Ну ошибка [#404] К сожалению, не удалось найти запрашиваемую вами страницу. Пожалуйста вернитесь на главную страницу форума.

 

То есть, просто перед тем, как юзать ядро, пишу define('CCS_GATEWAY_CALLED', true); и норм тема создаётся.

 

Это правильно? )

Изменено пользователем DivDivAdm
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я правильно понял, что посредством этого происходит лишь коннект к БД?

define( 'CCS_GATEWAY_CALLED', true );

define( 'IPB_THIS_SCRIPT', 'public' );

require_once( './initdata.php' );

require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );

$registry = ipsRegistry::instance();

$registry->init();

Допустим форум у меня в папке www.site.ru/forum/ и я хочу вести в корневой директории www.site.ru/ в файле name.php ник юзера с ID=1.

Как такое осуществить?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я правильно понял, что посредством этого происходит лишь коннект к БД?

define( 'CCS_GATEWAY_CALLED', true );

define( 'IPB_THIS_SCRIPT', 'public' );

require_once( './initdata.php' );

require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );

$registry = ipsRegistry::instance();

$registry->init();

 

Да. Правда у меня ошибку выдавало ,пока я не вставил

require_once( $f.'\admin\sources\base/ipsController.php');

Изменено пользователем DivDivAdm
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Возможно, более правильно использовать IPS_ENFORCE_ACCESS вместо CCS_GATEWAY_CALLED (как я понял будет работать и при выключенном форуме) Изменено пользователем LastDragon
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Возможно, более правильно использовать IPS_ENFORCE_ACCESS вместо CCS_GATEWAY_CALLED (как я понял будет работать и при выключенном форуме)

 

Спс )

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Мням. Чего только не вычитаешь в документации :)

 

А откуда её взять?

http://www.ibresource.ru/ipb3/ по 3.0

В 3.1.2 многое по другому )

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Интересно.

Начал потихоньку вникать в суть данного API.

Всё гораздо проще чем я думал. :)

 

Вот, если кому интересно, несколько методов для новой линейки: http://community.invisionpower.com/resources/documentation/index.html/_/developer-resources/api-methods/

Изменено пользователем Mihael-VLZ
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Вот, если кому интересно, несколько методов для новой линейки: http://community.inv...es/api-methods/

:lol: Удачи в поисках того как это работает :) - там очееееееееееееень поверхностно все.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

DivDivAdm, скинь что у тебя получилось.

 

Вот, если кому интересно, несколько методов для новой линейки: http://community.inv...es/api-methods/

:lol: Удачи в поисках того как это работает :) - там очееееееееееееень поверхностно все.

А где можно узнать более подробно?

 

Сделал внешнюю регистрацию:

$member = IPSMember::create( array( 'members' => array( 'name' => 'test','email' => 'test@test.com', 'password'	=> 'test', 'joined' => time() ), 'extendedProfile' => array( 'signature' => 'test signature' ) ));

Вот только почему-то пользователь, зарегистрированный извне, не отображаются в колонке статистики "Новый участник".

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вообщем со статистикой разобрался.

А как правильно работать с дополнительными полями при регистрации извне?

Делаю запросы на апдейт дополнительных полей таким кодом:

'customFields' => array( 'field_1' => 'test' )

Но в итоге ничего не обновляется. Ошибок никаких не выскакивает.

Изменено пользователем Mihael-VLZ
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вообщем со статистикой разобрался.

А как правильно работать с дополнительными полями при регистрации извне?

Делаю запросы на апдейт дополнительных полей таким кодом:

'customFields' => array( 'field_1' => 'test' )

Но в итоге ничего не обновляется. Ошибок никаких не выскакивает.

неужели никто не в курсе моего вопроса?

подскажите, господа.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вопрос ещё актуален. Всё никак не удаётся разобраться с кастом полями.

 

И DivDivAdm, скинь что у тебя получилось с постами.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вопрос ещё актуален. Всё никак не удаётся разобраться с кастом полями.

 

И DivDivAdm, скинь что у тебя получилось с постами.

 

По постам. Я по 3.1.2 говорю.

 

Для начала подрубаем API.

require_once('forum/initdata.php');
require_once( 'forum/admin/sources/base/ipsController.php');
require_once( IPS_ROOT_PATH . '/sources/base/ipsRegistry.php' );

$registry = ipsRegistry::instance();
define('CCS_GATEWAY_CALLED', true);

$registry->init();

 

А дальше туточки неплохо расписано )

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.