Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ctreeview, yii framework 
:(
    Опции темы
s0lman
Дата 31.8.2009, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

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



Привет всем.
Использую сласс CTreeView.
Код

    public function init()
    {
        if(isset($this->htmlOptions['id']))
            $id=$this->htmlOptions['id'];
        else
            $id=$this->htmlOptions['id']=$this->getId();
        if($this->url!==null)
            $this->url=CHtml::normalizeUrl($this->url);
        $cs=Yii::app()->getClientScript();
        $cs->registerCoreScript('treeview');
        $options=$this->getClientOptions();
        $options=$options===array()?'{}' : CJavaScript::encode($options);
        $cs->registerScript('Yii.CTreeView#'.$id,"jQuery(\"#{$id}\").treeview($options);");
        if($this->cssFile===null)
            $cs->registerCssFile($cs->getCoreScriptUrl().'/treeview/jquery.treeview.css');
        else if($this->cssFile!==false)
            $cs->registerCssFile($this->cssFile);

        echo CHtml::tag('ul',$this->htmlOptions,false,false)."\n";
        echo self::saveDataAsHtml($this->data);
    }

Здесь все понятно.
После некоторых манипуляций с массивом $data возникает необходимость заново перерисовать хтмл дерева, ответ должен быть дан ajax'ом. Для этого с котроллера вызываю виджет (понимаю, что идеологически неверно, но пока хоть так заработает smile ) 
Код

$this->widget('NavigationTree',array('data'=>$data,'collapsed'=>false,'htmlOptions'=>array('class'=>'treeview-gray'))) ;

Где NavigationTree - класс, наследуемый от CWidget и методж init из которого приведен выше.
В результате к возвращаемому хтмл не применяются стили, то есть получаю немного не то, что надо)
Результат идентичен, если закомментировать выделенную выше строку в методе init, что меня наводит на мысль, что с контроллера не получается выполнить тот жабаскрипт.
NavigationTree.php лежит, естественно, в protected/components

Кто что может сказать по этому поводу?

Добавлено через 9 минут и 11 секунд
Выделенной строкой должна была быть эта 
Код

$cs->registerScript('Yii.CTreeView#'.$id,"jQuery(\"#{$id}\").treeview($options);");

smile


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
IZ@TOP
Дата 1.9.2009, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



А вы используете Firefox и Firebug для того, что бы быть полностью уверенным в том, что там уходит и приходит?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
s0lman
Дата 1.9.2009, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

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



IZ@TOP, в смысле уходит и приходит? Запросы javascript выполняются.
Если я закомментирую указанную строку, то в файрбаге все равно будут в списке те же джаваскрипты,  только результирующий хтмл будет без стилей.
При вызове аякса список скриптов не изменяется вообще 


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
IZ@TOP
Дата 1.9.2009, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



s0lman, я об этом:

Цитата(s0lman @  31.8.2009,  18:19 Найти цитируемый пост)
Результат идентичен, если закомментировать выделенную выше строку в методе init, что меня наводит на мысль, что с контроллера не получается выполнить тот жабаскрипт.


Я так понимаю, что он должен придти на клиента? Он приходит и не исполняется или не приходит вообще?

По поводу стилей: каким образом они применяются к странице?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
s0lman
Дата 1.9.2009, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

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



Цитата(IZ@TOP @  1.9.2009,  13:23 Найти цитируемый пост)
Он приходит и не исполняется или не приходит вообще?

Трудно сказать, т.к. запросы js в файрбаге отображаются только после обновления страницы по F5, при клике по ссылке список запросов пустой. При щелчке по кнопке-вызове аякса  список js запросов не изменяется.
 
Цитата(IZ@TOP @  1.9.2009,  13:23 Найти цитируемый пост)
По поводу стилей: каким образом они применяются к странице? 

Не к странице, а к дереву в формате html
Код

$cs->registerScript('Yii.CTreeView#'.$id,"jQuery(\"#{$id}\").treeview($options);");

это равносильно
Код

$cs->registerScript('Yii.CTreeView#yw0', 'jQuery("#yw0").treeview({"collapsed":false});');

где #yw0 - ИД дерева (<UL>);

Код

$cs->registerCssFile($cs->getCoreScriptUrl().'/treeview/jquery.treeview.css');

в это месте применяются стили (ставятся плюсики, прорисовываются линии и тп), но если закомментироваьть, то результат отличается от того, если js комментировать - нету непонятных лишних линий, корректировку прорисовкой которых, насколько понимаю, js берет на себя.



--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
IZ@TOP
Дата 1.9.2009, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



s0lman, ну, у меня было только одно предположение касательно CSS. Но оно уже отпало. Придется Вам заниматься дебагом, поскольку я с этой системой не работал и, как вижу, поскольку никто не пишет - с подобным не сталкивались.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Libraries | Следующая тема »


 




[ Время генерации скрипта: 0.0462 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.