Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 581 Просмотров
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Здравствуйте!

Разрабатываю компонент, в котором есть вид(view), со страницы которого открываются три варианта дальнейшего развития событий:
1. увидеть список книг контактов с возможностью добавления или удаления книги.
2. добавить контакт в одну из книг.
3. импорт контактов.
Эти три пути отображает layout c наименованием default этого вида. Как правильно реализовать эти страницы под номерами 1,2,3 - с помощью отдельных view или с помощью отдельных layout этого view(потому что все эти страницы предназначены для работы с контактами)?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
View - об'ект, сформированный главным образом работой модели, которая работает с БД.
Layout берет готовые данные от своего view и отображает их.
У каждого элемента своя задача, при этом view - более ресурсозатратный.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
View - об'ект, сформированный главным образом работой модели, которая работает с БД.
Layout берет готовые данные от своего view и отображает их.
У каждого элемента своя задача, при этом view - более ресурсозатратный.
Попробую прийти к ответу на мой вопрос :) Получается, если модель у меня будет одна для всех этих страниц, то делаю один вид. Поскольку мне сейчас проще, чтобы все было просто(да и выигрыш какой-то может будет по производительности, если одному view и его модели не надо будет тащить все данные для этих страниц), то мне лучше наделать отдельные view под каждую из страниц. Логично?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Логично?
Нет.
1. Нужно будет организовать так, чтобы разные view делили между собой 1 модель.
2. Будет меньше производительности, поскольку в отличие от view, layout нет никакого дела до модели и БД(соответственно, и запросов туда).
Не будь паразитом, сделай что-нибудь самостоятельно!
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Разрешите я Вас поправлю
Цитировать
Эти три пути отображает layout c наименованием default
Это не layouts это макет
UPD : Может немного не по теме
А про то что Вы спрашиваете ==
Цитировать
1. увидеть список книг контактов с возможностью добавления или удаления книги.
2. добавить контакт в одну из книг.
3. импорт контактов.
в модели представления есть такие методы
getLayout
setLayout

то есть в файле view.html.php
Вы можете переключать их
По умолчанию это default
Но если при выполнении какого нибудь условия Вы (можете) переключите его
к примеру так
Цитировать
$app = \JFactory::getApplication() ;
if( $app->input->get('view' , false , 'STRING') == 'add_contact' )
{
// Тут мы изменили макет с default => add_contact
$this->setLayout('add_contact');
// теперь в папке  tmpl - Joomla будет искать макет add_contact            
}#END IF
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Спасибо. То есть robert за несколько view, а gartes за один вью с разными макетами?
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Нужно будет организовать так, чтобы разные view делили между собой 1 модель.
Если одна модель - то и view - должен быть один !
Цитировать
Будет меньше производительности, поскольку в отличие от view, layout нет никакого дела до модели и БД(соответственно, и запросов туда).
layout - Это просто кусочки - макетов которые Вы можете использовать в любых макетах default.php
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
а gartes за один вью с разными макетами
Да - нужен - 1 вью
Зайдите в менеджер пользователей посмотрите как там ! yes!
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Спасибо. То есть robert за несколько view, а gartes за один вью с разными макетами?
Нет, как раз наоборот. ;D
В общем так: если можно работать с 1 view, то так и сделаем.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Цитировать
Нет, как раз наоборот.
Что то мы совсем запутались ! ))))
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Да уж, перечитал свои посты, так и не понял, почему их можно было трактовать наоборот :o.
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Зачем нужны шаблоны вида компонента?

Автор NeuroZ

Ответов: 12
Просмотров: 1064
Последний ответ 04.10.2016, 14:31:05
от Septdir