Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
avgaz

API или как выдернуть редактор

Recommended Posts

Собственно хотел на сайт выдернуть редактор с IPB путем его интеграции и так тут показана как это делать http://www.invisionpower.com/support/guides/_/advanced-and-developers/api-methods/editor-bbcode-r146

Делаю так

<?php
require_once( '/forum/initdata.php' );
require_once( '/forum/admin/sources/base/ipsRegistry.php' );
$registry=ipsRegistry::instance();
$registry->init();
$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/editor/composite.php', 'classes_editor_composite' );  
$editor = new $classToLoad();  $html = $editor->show( 'Post', array(
'type'				=> 'full',
'minimize'			=> TRUE,
'height'			=> 300,
'autoSaveKey'			=> '',
'warnInfo'			=> NULL,
'modAll'			=> FALSE,
'recover'			=> FALSE,
'noSmilies'			=> FALSE,
'isHtml'			=> FALSE,
'isRte'				=> NULL,
'isTypingCallBack'		=> '',
'delayInit'			=> FALSE,
'editorName'			=> NULL 	) );

echo "$html";

 

Но отображает просто поле textarea сам редактор не подгружается хотя в исходном коде страницы он вроде присутствует все

В чем ошибка что не так сделал?

Share this post


Link to post
Share on other sites

Для редактора нужны еще стили. Нормально он будет работать только в среде форума

 

$registry->output->addContent($html);

$registry->output->sendOutput();

(вместо echo "$html")

Share this post


Link to post
Share on other sites

Для редактора нужны еще стили. Нормально он будет работать только в среде форума

 

$registry->output->addContent($html);

$registry->output->sendOutput();

(вместо echo "$html")

Блин обломно, мне как бы оболочка форума не нужна, без этого форумный редактор не как не выдернуть?

Share this post


Link to post
Share on other sites

Форумный редактор вы выдернули - стилей нету. Подключайте стили которые требуются для редактора и будет счастье.

Share this post


Link to post
Share on other sites

Форумный редактор вы выдернули - стилей нету. Подключайте стили которые требуются для редактора и будет счастье.

Да вот что то не выходит, подключаю все стили css которые на странице с редактором когда в оболочке форума

		<link rel="stylesheet" type="text/css" media='screen,print' href="http://111.ru/forum/public/min/index.php?ipbv=a7d9f2a2e92a4ebacf2b80119d9e3df9&f=public/style_css/css_1/SOS_BBCodes.css,public/style_css/css_1/ipb_help.css,public/style_css/css_1/ipb_mlist_addon.css,public/style_css/css_1/calendar_select.css,public/style_css/css_1/ipb_common.css,public/style_css/css_1/ipb_styles.css,public/style_css/css_1/ipb_ckeditor.css" />

Один фиг просто форма отображается

Share this post


Link to post
Share on other sites

А, ну так там еще и скрипты нужно подключить - прототайп и объект ipb. Редактор же подключается через ipb.textEditor.initialize

Share this post


Link to post
Share on other sites

Что то не фига не выходит, если не сложно напишите как это сделать плиз.

Share this post


Link to post
Share on other sites

Прототайп для редактора не нужен. С враппером все нужные скрипты и стили подгружаются автоматом:

<?php
require_once('initdata.php');
require_once('./admin/sources/base/ipsRegistry.php');

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

$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/editor/composite.php', 'classes_editor_composite' );  
$editor = new $classToLoad();
$html = $editor->show( 'Post', array('minimize' => FALSE) );

$registry->output->setTitle('My Title');
$registry->output->addContent($html); 
$registry->output->sendOutput();

Нормально работает у меня - http://test.emule-rus.net/ipb346/test.php

 

Если форумный враппер не нужен, то видимо лучше подключить чистый ckeditor, замещающий любое поле textarea. http://www.site-script.ru/articles.php?id=13

Share this post


Link to post
Share on other sites

Для форумного нужен. Он подключается через объект ipb который инициализируется используя запросы прототайпа. А ТС'у нужен редактор вне оболочки форума.

Share this post


Link to post
Share on other sites

Прототайп для редактора не нужен. С враппером все нужные скрипты и стили подгружаются автоматом:

Просто хотел подключить к сайту этот редактор, что бы он настраивался в АЦ форума и использовать ещё при этом менеджер файлов форума. ckeditor без проблем но это не то

Share this post


Link to post
Share on other sites

$settings   =& $registry->fetchSettings();
$memberData =& $registry->member()->fetchMemberData();

$settings['emoticons_url'] = str_replace('<#EMO_DIR#>', 'default', $settings['emoticons_url']);

/* Скрипты */
echo <<<FEOF
<script type='text/javascript'>
jsDebug			= 0; /* Must come before JS includes */
DISABLE_AJAX	= parseInt(0); /* Disables ajax requests where text is sent to the DB; helpful for charset issues */
inACP			= false;
var isRTL		= false;
var rtlIe		= '';
var rtlFull		= '';
</script>
{$registry->output->getTemplate('global')->includeJS(array('textEditor.bbcode' => 1, 'textEditor' => 1))}
<script type='text/javascript'>
Loader.boot();
</script>
<link rel="stylesheet" type="text/css"  href="{$settings['board_url']}/public/style_css/css_1/ipb_ckeditor.css" />
FEOF;

/* Редактор */
echo $html;

 

Скрипты в сжатом виде ($registry->output->getTemplate('global')->includeJS)

<script type='text/javascript' src='{$settings['board_url']}/public/min/index.php?g=js'></script>
<script type='text/javascript' src='{$settings['board_url']}/public/min/index.php?charset=UTF-8&f=public/js/ipb.js,cache/lang_cache/{$memberData['language']}/ipb.lang.js,public/js/ips.textEditor.bbcode.js,public/js/ips.textEditor.js' charset='UTF-8'></script>

Share this post


Link to post
Share on other sites

Спасибо, но не корректно работает, в частности не вставка картинки не ссылки, смайлы и тд не работает ((

а вот с этим

{$registry->output->getTemplate('global')->includeJS(array('textEditor.bbcode' => 1, 'textEditor' => 1))}

Вроде бы нормально.

Edited by avgaz

Share this post


Link to post
Share on other sites

Тогда нужно еще подключить скрипт еффектов, заменить директорию смайликов, и добавить скрипт с лэнгами.

Скрипты все же лучше подключать из шаблона форума, а не вручную ($registry->output->getTemplate).

Share this post


Link to post
Share on other sites

В принципе все работает кроме смайлов, не пойму как директорию поменять?

А как подключить менеджер файлов форума и загрузчик http://www.invisionpower.com/support/guides/_/advanced-and-developers/api-methods/kernel-uploading-classuploadphp-r170

Share this post


Link to post
Share on other sites

В принципе все работает кроме смайлов, не пойму как директорию поменять?

Смотрите в коде, там добавлено.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...