Yii Framework Forum: Ctreeview Jak Zmienić Template? - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Ctreeview Jak Zmienić Template? Rate Topic: -----

#1 User is offline   Qczci 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 15-May 14

Posted 25 May 2014 - 01:33 PM

Cześć,

szukam odpowiedzi na pytanie jak w temacie, ale nie mogę znaleźć..

Potrzebuję dodać do każdej listy kilka znaczników html jak to zrobić w tym widżecie?
0

#2 User is offline   .viktor. 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 90
  • Joined: 25-August 10
  • Location:Sokołów Podlaski, Poland

Posted 26 May 2014 - 02:50 AM

View PostQczci, on 25 May 2014 - 01:33 PM, said:

Cześć,

szukam odpowiedzi na pytanie jak w temacie, ale nie mogę znaleźć..

Potrzebuję dodać do każdej listy kilka znaczników html jak to zrobić w tym widżecie?

Cześć

$this->widget(
   'CtreeView', array(
      'cssFile'=> 'twoj css', //twój css do zmiany wyglądu
      'data'=>array(
         array(
            'text'=>'twój tekst' 
         ),
         array(
            'text'=>Chtml::link('twój link', 'url', array('class'='jakac klasa css')) // generuje HTML tab <a>
         ),
         array(
            'text'=>Chtml::tag('tag')."twój tekst".Chtml::closeTag('tag') // generuje dowolny HTML tag 
            //http://www.yiiframework.com/doc/api/1.1/CHtml#tag-detail
         ),
      )
   )
)


Reszta, w twoich rękach i Chtml.
0

#3 User is offline   Qczci 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 15-May 14

Posted 26 May 2014 - 12:56 PM

Dzięki za odpowiedź .viktor., jednak takie rozwiązanie mnie nie satysfakcjonuję.

Aktualnie format tekstu robię w modelu:

private function formatTreeText($model)
     {
          $text = '<div class="list-tasks"><span class="id_color">#' . $model->id . '</span> ' .
                  CHtml::link($model->title, array('task/view', 'id' => $model->id)) .
                  ' <span class="status_color">' . $model->status . '</span> ' .
                  '<span class="title_color">' . $model->user->name . '</span> ' .
                  '<span class="p_color">' . $model->priority . '</span> ' .
                  '<span class="accomplished_color">' . $model->accomplished . '</span> ' .
                  '<span class="deadline_color">' . $model->deadline . '</span> ' .
                  '<span class="created_color">' . $model->created . '</span> ' .
                  '<span class="updated_color">' . $model->update . '</span> ' .
                  CHtml::link('<span class="glyphicon glyphicon-plus-sign"></span>', array('task/create', 'id' => $model->id), array('title' => 'Add subtask')) . '</div>'
          ;
          return $text;


Niezbyt fajnie to wygląda w modelu i chciałbym to przenieść do rozszerzonego widżetu CTreeView. Spoglądając na tą klasę //github.com/yiisoft/yii/blob/1.1.14/framework/web/widgets/CTreeView.php wnioskuję, że lista jest układana w JavaScript, bawił się ktoś z was rozszerzaniem CTreeView i modyfikowaniem standardowego formatowania listy i może coś poradzić?.

Dzięki.
0

#4 User is offline   .viktor. 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 90
  • Joined: 25-August 10
  • Location:Sokołów Podlaski, Poland

Posted 27 May 2014 - 02:44 AM

Każdy widżet ma metodę init()

https://github.com/y...s/CTreeView.php

/**
* Initializes the widget.
* This method registers all needed client scripts and renders
* the tree view content.
*/
public function init()
{
...
    echo CHtml::tag('ul',$this->htmlOptions,false,false)."\n";
    echo self::saveDataAsHtml($this->data); // przygotowanie listy na podastwie tablicy data
}


ten widżet dodatkowo ma metodę odpowiedzialną za przygotwanie listy

public static function saveDataAsHtml($data)
{
...
}


możesz na bazie tego widżetu zaprojektować swój i wydaje mi się że wystarczy nadpisać saveDataAsHtml() oraz init()

[/php]
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users