Показать сообщение отдельно
Старый 21.09.2009, 20:45   #1
Sergey M Nikitin
Administrator
 
Аватар для Sergey M Nikitin
 
Регистрация: 10.07.2007
Адрес: Moscow
Сообщений: 181
Отправить сообщение для Sergey M Nikitin с помощью ICQ Отправить сообщение для Sergey M Nikitin с помощью Skype™
По умолчанию [TS] Удобный CONTENT

в этом примере я покажу как удобней всего (по мне так) организовать CONTENT объект при этом отделив данные от вида.

классический способ использования CONTENT
Код:
some.ts.obj = CONTENT
some.ts.obj{
  #Обрамляем наш объект, контейнер для вывода записей блога
  wrap = <div class="posts">|</div> 
  table = [some_table]
  select{
    ... bla bla bal ... (см. select)
  }
  #вот здесь пошел объет вывода.
  #представим что у нас запись блока и мы выводом, заголовок, дату и текст
  renderObj = COA
  renderObj{
    #Обрамляем каждую запись, контейнер для вывода поста
    wrap = <div class="post">|</div>
    10 = TEXT
    10{
      field = title
      wrap = <h1>|</h1>
    }
    20 = TEXT
    20{
      field = date
      wrap = <span>|</span>
      strftime = [strftime format]
    }
    30 = TEXT
    30{
      field = bodytext
      wrap = <div class="post_body">|</div>
    }
  }
}
как видем из этого примера шаблон записи блога "размазан" по конфигурации content объекта

мой способ (отделяем данные от вида):
Код:
some.ts.obj = CONTENT
some.ts.obj{
  #Обрамляем наш объект, контейнер для вывода записей блога
  wrap = <div class="posts">|</div> 
  table = [some_table]
  select{
    ... bla bla bal ... (см. select)
  }

  renderObj = COA
  renderObj{
    #ДАННЫЕ
    10 = LOAD_REGISTER
    10{
      post_title.cObject = TEXT
      post_title.cObject.field = title

      post_date.cObject = TEXT
      post_date.cObject{
        field = date
        strftime = [strftime format]
      }
      post_body.cObject = TEXT
      post_body.cObject.field = bodytext
    }

    #ВИД
    20 = TEXT
    20{
      value(
<div class="post">
  <h1>{register:post_title}</h1>
  <span>{register:post_date}</span>
  <div class="post_body">{register:post_body}</div>
</div>
      )
      insertData = 1
    }
  }
}

преимущества такого способа:
1. Компактность
2. Прозрачность
Sergey M Nikitin вне форума   Ответить с цитированием