Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
avgaz

Вывод данных

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

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

 

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

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}} и вывести определенную информацию на такой странице

Поделиться сообщением


Ссылка на сообщение

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

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Спасибо

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение
08/19/19 13:41 (изменено)

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

<?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 ) ) );
?>

Изменено пользователем avgaz

Поделиться сообщением


Ссылка на сообщение

пытаюсь сделать по примеру как тут 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 ) ) );
?>

Поделиться сообщением


Ссылка на сообщение

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

 

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
08/21/19 18:24 (изменено)

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

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

 

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

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

Изменено пользователем avgaz

Поделиться сообщением


Ссылка на сообщение

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение

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

 

Если папка 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 написать

Поделиться сообщением


Ссылка на сообщение
08/29/19 19:27 (изменено)

del.

 

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

Изменено пользователем ovi8

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...