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

Вывод данных

Recommended Posts

Да, перепутал думал в админке у пользователя кажет устройства, а там просто систему показывает, печально ((

 

Тут ещё такой вопрос возник то есть есть страница(ы)

require_once 'forum/init.php';
\IPS\Dispatcher\External::i();
\IPS\Output::i()->sendOutput( \IPS\Theme::i()->getTemplate( 'global', 'core' )->globalTemplate( 'Page Title', 'Page Content', array( 'app' => \IPS\Dispatcher::i()->application->directory, 'module' => \IPS\Dispatcher::i()->module->key, 'controller' => \IPS\Dispatcher::i()->controller ) ) );

 

Как на такой странице задать расположение application или module, что бы в дальнейшем можно было в шаблоне составить условие?? типа такого

{{if (\IPS\Request::i()->app == 'forums')}} 111 {{endif}} и вывести определенную информацию на такой странице

Share this post


Link to post
Share on other sites

Так сами и создайте

\IPS\Request::i()->something = 123;

  • Upvote 1

Share this post


Link to post
Share on other sites

Спасибо

Share this post


Link to post
Share on other sites

а можно как то вытащить редактор с загрузкой файлов для своих форм?

Share this post


Link to post
Share on other sites

а можно как то вытащить редактор с загрузкой файлов для своих форм?

Создаете форму, добавляете елемент типа "Редактор", выводите форму на страницу

Share this post


Link to post
Share on other sites

не совсем понял, вот например есть такая страница с формой, как к этой форме прикрутить форумный редактор и загрузкой файлов

<?php
require_once 'forum/init.php';
\IPS\Dispatcher\External::i();
$output ="<form action=\"/\" method=\"post\" class=\"editor\" name=\"editor\">
                <textarea id=\"text\" name=\"text\" style=\"width: 100%\" rows=\"14\" cols=\"40\"></textarea>
                <input type=\"submit\" name=\"ok\" value=\"Сохранить\" />
                         </form>";

\IPS\Output::i()->sendOutput( \IPS\Theme::i()->getTemplate( 'global', 'core' )->globalTemplate( 'Page Title', $output, array( 'app' => \IPS\Dispatcher::i()->application->directory, 'module' => \IPS\Dispatcher::i()->module->key, 'controller' => \IPS\Dispatcher::i()->controller ) ) );
?>

Edited by avgaz

Share this post


Link to post
Share on other sites

пытаюсь сделать по примеру как тут https://invisioncommunity.com/developers/docs/other-features/forms/using-the-rich-text-wysiwyg-editor-r62/

но выдает ошибку ((

<?php
require_once 'forum/init.php';
\IPS\Dispatcher\External::i();
$editing = NULL;
if ( \IPS\Request::i()->id )
{
try
{
	$editing = \IPS\app\Thing::load( \IPS\Request::i()->id );
}
catch ( \OutOfRangeException $e )
{
	\IPS\Output::i()->error( );
}
}

$form = new \IPS\Helpers\Form;
$form->add( new \IPS\Helpers\Form\Editor( 'my_editor', NULL, TRUE, array( 'app' => 'app', 'key' => 'Key', 'autoSaveKey' => $editing ? 'creating-thing' : "editing-thing-{$editing->id}", 'attachIds' => $editing ? array( $editing->id ) : NULL ) ) );

if ( $values = $form->values() )
{
if ( !$editing )
{
	$item = new \IPS\app\Thing;
	$item->content = $values['my_editor'];
	$item->save();

	\IPS\File::claimAttachments( 'creating-thing', $item->id );
}
else
{
	$editing->content = $values['my_editor'];
	$editing->save();
}
}
\IPS\Output::i()->sendOutput( \IPS\Theme::i()->getTemplate( 'global', 'core' )->globalTemplate( 'Page Title', $form, array( 'app' => \IPS\Dispatcher::i()->application->directory, 'module' => \IPS\Dispatcher::i()->module->key, 'controller' => \IPS\Dispatcher::i()->controller ) ) );
?>

Share this post


Link to post
Share on other sites

Зачем все копировать. Там пример дан для приложения app с классом Thing. У Вас явно нет такого.

 

Плюс нужно использовать существующие расширения для редакторов

'app' => 'app', 'key' => 'Key'

Например, для тем данная строка будет выглядеть как

'app' => 'forums', 'key' => 'Forums'

Для других приложений - свои расширения.

Share this post


Link to post
Share on other sites

Вот так вот работает

$form = new \IPS\Helpers\Form;
$form->add( new \IPS\Helpers\Form\Editor( 'my_editor', NULL, TRUE, array( 'app' => 'forums', 'key' => 'Forums') ) );

 

Но возник вопрос, можно задать загружаемым файлам свою директорию? так же загруженное изображение и вставленное в редактор не изменить то есть по двойному клику грузится не окно редактирования фото, а окно с ещё формой.

Так же информация по загруженному файлу записывается БД, мне как бы это не к чему можно в такой форме не писать информацию в БД о прикрепленных файлах?

Edited by avgaz

Share this post


Link to post
Share on other sites

Но возник вопрос, можно задать загружаемым файлам свою директорию?

Для файлов редактора используется расширение "core_Attachment", и какой путь указан в настройках, такой и используется.

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

Потому что картинка грузится по http://site.ru/index.php?app=core, а должен по http://site.ru/forum/index.php?app=core

как бы это не к чему можно в такой форме не писать информацию в БД о прикрепленных файлах?

Удаляйте при обработке формы

Share this post


Link to post
Share on other sites

Для файлов редактора используется расширение "core_Attachment", и какой путь указан в настройках, такой и используется.

То есть не как не получится хранить в другом месте? в настройках вроде как можно задавать настройки только существующим приложения, а для таких страниц не как?

 

Потому что картинка грузится по http://site.ru/index.php?app=core, а должен по http://site.ru/forum/index.php?app=core

Это можно как то поправить?

Share this post


Link to post
Share on other sites

То есть не как не получится хранить в другом месте? в настройках вроде как можно задавать настройки только существующим приложения, а для таких страниц не как?

 

Если папка uploads устраивает, то можете добавить контейнер

system/Helpers/Form/Editor.php

			$uploaderName = str_replace( array( '[', ']' ), '_', $name ) . '_upload';

Выше добавить

			if ($name === 'my_editor')
		{
			$options['storageContainer'] = 'somefolder';
		}

somefolder - папка в uploads (т.е. site/forum/uploads/somefolder)

 

Это можно как то поправить?

В файле applications/core/interface/ckeditor/ckeditor/plugins/ipsimage/plugin.js

="?app

заменить на

=ips.getSetting('baseURL')+"?app

По желанию можете в IPS написать

Share this post


Link to post
Share on other sites

del.

 

Извините за бессмысленное сообщение, форум не дает создать тему почему то..

Edited by ovi8

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...