X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> [решено]Передача параметров в OwnBBcodes, Передача параметров в OwnBBcodes
Loader
сообщение 2011-08-29, 14:24
Сообщение #1
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


Возникла необходимость передать дополнительные параметры ширины и высоты при использовании Strings::ParseOwnBB($text), но вот как это сделать?
Ведь судя по:     public function PreDisplay($tag,$params,$content,$canuse) это возможно.



Сообщение отредактировал Loader - 2011-08-30, 19:07
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2011-08-29, 16:07
Сообщение #2
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Введите в класс-обработчик статические переменные. После этого сможете задать им значения, перед выводом. Например:
OwnBbCode_url::$w=100;
OwnBbCode_url::$h=200;
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-08-29, 17:04
Сообщение #3
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


Alexander, нельзя ли поподробнее?

Как обратиться изнутри:

Цитата
class OwnBbCode_video extends BaseOwnBbCode
{    
public
        $height,#Высота
        $width;#Ширина


self::$width;
или
$this->$width;
?

Как обратиться снаружи:
$Mainclass->OwnBbCode_video->width=200;
или
OwnBbCode_video::$width=200;
?
Тут правда ни то ни другое не работает.



Сообщение отредактировал Loader - 2011-08-29, 17:06
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2011-08-29, 21:28
Сообщение #4
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Цитата (Loader @ 2021-01-28 19:43)
Как обратиться изнутри:

self::$w, self::$h

Цитата (Loader @ 2021-01-28 19:43)
Как обратиться снаружи:

OwnBbCode_video::$width

Правда чтобы работало, для начала нужно проинклудить класс этот.
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-08-29, 22:03
Сообщение #5
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


Цитата (Alexander @ 2021-01-28 19:43)
Правда чтобы работало, для начала нужно проинклудить класс этот.

А-а вот где собака порылась...
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-08-29, 22:33
Сообщение #6
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


Я что подумал, что-то костыли какие-то получаются! :blink:
Неужели нельзя передать параметр так:
Цитата
Strings::ParseOwnBB($text,$params);
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2011-08-29, 22:59
Сообщение #7
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Цитата (Loader @ 2021-01-28 19:43)
Я что подумал, что-то костыли какие-то получаются!
Неужели нельзя передать параметр так:

Какие же это костыли? О_о Нет, конечно можно поступить так, как Вы хотите: передать параметры в статический метод ParseOwnBB класса Strings, затем их передать в класс OwnBB, после этого передать уже в нужный класс-обработчик. Но по-моему это является костылями и инзвращениями...
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-08-30, 18:36
Сообщение #8
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


Цитата (Alexander @ 2021-01-28 19:43)
Правда чтобы работало, для начала нужно проинклудить класс этот.

Не работает всё равно.
Вот код:
if(!isset($Mainclass->OwnBb))	
$Mainclass->LoadClass('classes/others/class_ownbb.php','OwnBb','OwnBbCodes');
OwnBbCode_video::$width=200;
OwnBbCode_video::$height=200;

Fatal error: Access to undeclared static property: OwnBbCode_video::$width

class OwnBbCode_video extends BaseOwnBbCode
{	
    public
    $width,#Ширина
    $height;#Высота

    public function PreDisplay($tag,$params,$content,$canuse)




Сообщение отредактировал Loader - 2011-08-30, 18:36
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2011-08-30, 19:03
Сообщение #9
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


После public добавьте слово static, чтобы получилось:

class OwnBbCode_video extends BaseOwnBbCode
{	
    public static
    $width,#Ширина
    $height;#Высота

    public function PreDisplay($tag,$params,$content,$canuse)
Перейти в начало страницы
+Цитировать сообщение
Loader
сообщение 2011-08-30, 19:07
Сообщение #10
Профессионал
Иконка группы

Группа: Eleanor user
Сообщений: 1 161
Регистрация: 2010-04-19

Репутация:   нет  
Всего: нет


ОК Проблема решена =)
Перейти в начало страницы
+Цитировать сообщение

Ответить в данную темуНачать новую тему
0 чел. читают эту тему (гостей: 0, скрытых пользователей: 0)
Пользователей: 0

 
RSS Текстовая версия 0.0473 сек.    11 запросов    GZIP включен    Сейчас: 2021-01-28, 18:43