Как изменить запрос views

Прислано: dim08

вт, 09/03/2010 - 20:54

Другие статьи по теме:

Появилась необходимость изменить запрос,
который автоматически сформирован views.
Как это сделать?

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано PinkRabbit в вт, 09/03/2010 - 21:00.

Хм, мне тоже интересно.
Где можно посмотреть полностью код, который выполняется при генерации views


Опубликовано graker в вт, 09/03/2010 - 21:06.

Предлагаете нам угадать, что вы собираетесь изменять, рассказывать не будете?

А PHP-код, выполняющийся при генерации views, можно посмотреть в модуле views :)


Опубликовано Dalay в вт, 09/03/2010 - 22:51.

"PinkRabbit" написал(а):

Хм, мне тоже интересно.
Где можно посмотреть полностью код, который выполняется при генерации views

Там кнопЫчка есть «экспорт», попробуйте нажать. :)


Опубликовано dim08 в ср, 10/03/2010 - 07:35.

Захожу в созданный views, жму "изменить", затем жму "предпросмотр"
Все выдает правильно. А в конце страницы выводит автоматически созданный sql-запрос,
на основании которого построена страница.
Скажите, плиз, можно ли этот запрос немного вручную подкорректировать?


Опубликовано Dalay в ср, 10/03/2010 - 07:57.

"dim08" написал(а):

Захожу в созданный views, жму "изменить", затем жму "предпросмотр"
Все выдает правильно. А в конце страницы выводит автоматически созданный sql-запрос,
на основании которого построена страница.
Скажите, плиз, можно ли этот запрос немного вручную подкорректировать?

Что значит в ручную, если вы его с помощью виевса создаете? Сделайте самостоятельный сниппет на основе того запроса, какого угодно вида, и все.


Опубликовано dim08 в ср, 10/03/2010 - 08:20.

Dalay -> Что значит в ручную, если вы его с помощью виевса создаете?

Хочу добавить несколько условий отбора в WHERE.

Dalay -> Сделайте самостоятельный сниппет на основе того запроса, какого угодно вида, и все.

Предварительно так и сделал. Но хотелось бы сделать более системно.
Мне кажется что такая возможность должна быть. Уж очень это напрашивается.
Только куда копать не знаю...


Опубликовано graker в ср, 10/03/2010 - 08:22.

Так бы и сказали сразу, что надо кастомные фильтры добавить. Такая возможность есть, она называется Views API.


Опубликовано Dalay в ср, 10/03/2010 - 08:26.

"dim08" написал(а):

Dalay -> Что значит в ручную, если вы его с помощью виевса создаете?

Хочу добавить несколько условий отбора в WHERE.

Dalay -> Сделайте самостоятельный сниппет на основе того запроса, какого угодно вида, и все.

Предварительно так и сделал. Но хотелось бы сделать более системно.
Мне кажется что такая возможность должна быть. Уж очень это напрашивается.
Только куда копать не знаю...

Ну не знаю насколько справедливо называть сделанное виевсом «системно». Вот что я имел ввиду: если не знаете, как самостоятельно составить нужный запрос, то посмотрите, как его создает виевс и на его основе сниппетом выводите нужное в блок или куда вам надо. Разве так не проще?


Опубликовано dim08 в ср, 10/03/2010 - 09:31.

Приемлемое решение - это возмможность корректировки результирующего запроса
при корректировке самого views.
Как я понимаю это, возможно уже реализовано с помощью какого нибудь модуля,
расширяющего возможности views. Может кто знает?


Опубликовано Dan в ср, 10/03/2010 - 13:14.

Знает что? Как сделать свой модуль для views описано в документации. Если надо скорректировать конкретный запрос - хук.
Я помниться переделывал внешние (exposed) фильтры (надо было добавить сортировку, которую во views нельзя сделать) и мне было проще альтернуть запрос, чем писать модуль.


Опубликовано PinkRabbit в ср, 10/03/2010 - 20:58.

"Dalay" написал(а):

Там кнопЫчка есть «экспорт», попробуйте нажать. :)

Я уже когда-то тыкал эту кнопочку, и у меня (как впрочем и сейчас) сложилось впечатление, что это не тот код, который выполняется views во время генерации самой страницы.

Этот код настраивает нужным образом сам view, фактически просто передаёт все параметры, которые мы настроили. Ошибаюсь?

"Dan" написал(а):

Я, помнится, переделывал внешние (exposed) фильтры (надо было добавить сортировку, которую во views нельзя сделать) и мне было проще альтернуть запрос, чем писать модуль

Кстати, столкнулся с этим сам. Но лезть в программирование из-за этого не захотелось)


Опубликовано dim08 в ср, 10/03/2010 - 21:25.

Можно, конечно, использовать Q-Views.
Но это ешо один полноценный модуль.
А мне нужно "всего-лишь" подправить запрос Views...


Опубликовано Dalay в чт, 11/03/2010 - 21:30.

"dim08" написал(а):

Можно, конечно, использовать Q-Views.
Но это ешо один полноценный модуль.
А мне нужно "всего-лишь" подправить запрос Views...

Что вы в Views то так вцепились? Сделайте вывод нужной информации сниппетом.


Опубликовано Dan в пт, 12/03/2010 - 05:17.

"Dalay" написал(а):

Сделайте вывод нужной информации сниппетом.

Дадада. Люди не знают что такое cache_get/set, а ты предлагаешь делать сниппетами. Потом будут думать - "Откуда 1500 запросов на главной? Ах да! У меня же в template.php десять сниппеттов, неужели они?!"

Делайте на views в режиме полей, со включенным кэшированием. Как "вырастите" в знаниях - своим модулем.


Опубликовано Dalay в пт, 12/03/2010 - 06:54.

"Dan" написал(а):

Дадада. Люди не знают что такое cache_get/set, а ты предлагаешь делать сниппетами. Потом будут думать - "Откуда 1500 запросов на главной? Ах да! У меня же в template.php десять сниппеттов, неужели они?!"

Че за бред и при чем тут template.php? "1500 запросов на главной" появляются как раз после следования советам делать все-че-не -попадя Виевсами. Да нафиг он, Друпал, вообще нужен, если использование его собственного апи подразумевает использование апи другого стороннего.


Опубликовано Dan в пт, 12/03/2010 - 07:46.

"Dalay" написал(а):

Че за бред и при чем тут template.php?
... если использование его собственного апи...

Это не бред, это суровая реальность. Люди не знают АПИ! Знающие сами решат, что им лучше - views или собственный код. Остальные берут сниппеты откуда не попадя и не зная как они работают, пихают во все доступные места, пока не заработает.

Хочешь сделаю смешно? Попросили меня посмотреть сайт, который "притормаживал". Беглый осмотр выявил:
- блок на views выводящий что-то там с терминами, но от него отказались, т.к не смогли добиться нужного отображения (от незнания модуля).
- блок в кастом-модуле выводящий то же самое, не дописан до конца.
- сниппет в template.php
самое прикольное, что из-за того что все эти три блока вставлялись ручками, они работали все, но первые два были вставлены неправильно, поэтому запросы выполнялись, но ничего не выводили. Маразм? Да. Редкость? Нет.

Именно поэтому я всем советую пользоваться views - тыкая мышкой сложно _так_ напортачить. Плюс можно применить стандартные ф-ции оптимизации, которые описаны и разжёваны многократно. Хоть то же кэширование во views.

В заключенение вопрос на засыпку: сколько ты видел на д.ру снипеттов с кэшированием?


Опубликовано Dalay в пт, 12/03/2010 - 08:10.

"Dan" написал(а):

...это не бред, это суровая реальность...

:) Вот ты упрямый перец. Или я всего не догоняю, что вполне возможно.

Давай так: если ты мне сейчас скажешь, что результат выполнения кода, помещенного в блок(при включенном кешировании блоков) не хрена не кэшируется, и код выполняется каждый раз по новой, то я тогда поверю тебе на слово. Более того - скажу искреннее спасибо за новую для меня информацию. То же применительно и к коду в template.php(при включенном же кэше), в принципе. Заметь, это не под...ебка, я действительно допускаю, что такое может быть. :)


Опубликовано Dan в пт, 12/03/2010 - 09:05.

Режим кэширования: Нормальный.
Кэш блоков: Включен.

1. Добавляем новый блок, контент: <?php print( date('H:i:s') ); ?> Помещаем блок в регион. Жмём до посинения F5 - на каждое обновление время будет обновляться.

2. Теперь идём в views, создаём список заголовок нод, ставим кэширование, например 1 час - смотрим, стираем пару нод, смотрим.

Вывод: кэширование views работает всегда, кэширование блоков - только для анонимов. Я надеюсь не открыл для тебя америку? Или таки открыл?


Опубликовано Dalay в пт, 12/03/2010 - 11:36.

"Dan" написал(а):

Вывод: кэширование views работает всегда, кэширование блоков - только для анонимов. Я надеюсь не открыл для тебя америку? Или таки открыл?

Кэширование views работает, когда выбран и задействован режим кэширования блока и уж точно не по дефолту. Но это ладно, фиг с ним, другое забавно. Ты предлагаешь решать Виевсом проблему кэширования для анонимов? Для того есть более специфические решения. Не согласен? Дома хлеб пилой двуручной нарезаешь?

Если уж совсем лениво открывать базу и ставить нужный режим кэширования у нужного блока, есть Block Cache Alter, например. Но не Виевс же для этого мостить.


Опубликовано Dan в пт, 12/03/2010 - 13:56.

"Dalay" написал(а):

Ты предлагаешь решать Виевсом проблему кэширования для анонимов?

Я тебе показываю, что кэш views работает для залогиненных, а ты делаешь вывод, что я предлагаю использовать его для анонимов? Где логика?

Для анонимов в друпале всё проще. Нагрузка начинает жрать ресурсы, когда много залогиненных. Вот для них кэшировать кучу выборок просто необходимо. На кой ляд грузить список последних новостей при каждом просмотре, когда эти новости добавляются несколько раз в неделю?
Например можно поставить перманентный кэш и сбрасывать его по тригеру обновления материала.

"Dalay" написал(а):

Если уж совсем лениво открывать базу и ставить нужный режим кэширования

Это тебе просто. А большинство пользователей вообще смутно представляют себе работу блоков, не говоря уже о нюансах режима их кэширования.
Ты даёшь советы как специалист специалисту, а надо ориентировать советы на новичков - таких на сайте большинство. Иначе все начинают кричать, что views много жрёт и делают сниппеты, на которые без слёз не взглянешь.
Ты в курсе, что куча народу не только не знает АПИ друпала, но и в PHP плавают? А ко мне много таких обращается в аську.


Опубликовано Dalay в пт, 12/03/2010 - 15:12.

"Dan" написал(а):

Я тебе показываю, что кэш views работает для залогиненных, а ты делаешь вывод, что я предлагаю использовать его для анонимов? Где логика?

:) ОписАлся, сорри, для залогиненных естесно.

"Dan" написал(а):

Ты в курсе, что куча народу не только не знает АПИ друпала, но и в PHP плавают? А ко мне много таких обращается в аську.

Все когда-то начинают сначала. Или поручают решить свою надобность тому, кто начал раньше, если деньги есть. То, что тебе с помощью Виевс гораздо проще и быстрей кому-то предоставить им желаемое, не отменяет того, что есть на самом деле.


Опубликовано Dan в пт, 12/03/2010 - 15:42.

"Dalay" написал(а):

не отменяет того, что есть на самом деле.

А что есть на самом деле? Что собственный код эффективнее? Вернулись с чего начали - не умеет большинство писать свой код и говорить им что их код будет эффективнее views - вводить в заблуждение. Не будет. Пусть учатся, но не думают, что сделать снипетт - это как два пальца.

Я делал тестовое задание для кандидатов в работу на простые задание, в условиях было знание АПИ друпала выше среднего. Из 10-ти проходили его 1-2. И это люди, которые считают, что хорошо знают АПИ.


Опубликовано Dalay в пт, 12/03/2010 - 22:56.

"Dan" написал(а):

А что есть на самом деле? Что собственный код эффективнее? Вернулись с чего начали - не умеет большинство писать свой код и говорить им что их код будет эффективнее views - вводить в заблуждение. Не будет. Пусть учатся, но не думают, что сделать снипетт - это как два пальца.

Забавно, ты сетуешь, что люди не знают Друпала, и при этом отсылаешь их изучать Вивс. Противоречий не видишь?

Что есть на самом деле? Тотальное облондинивание и развод. Создание ложных стереотипов и подмена понятий. :) Ну прям про "демократию" у меня получилось.

Печально, Ден, когда профессионал становиться ремесленником, и перестает видеть все остальное, что находиться за пределами сферы его меркантильных интересов.


Опубликовано penexe в пт, 12/03/2010 - 23:00.

views рулит!,Dan + в карму


Опубликовано Dalay в пт, 12/03/2010 - 23:06.

"penexe" написал(а):

views рулит!,Dan + в карму

:) Точно рулит, правильно сказал. Рулить самому геморней.


Опубликовано penexe в пт, 12/03/2010 - 23:17.

"Dalay" написал(а):

:) Точно рулит, правильно сказал. Рулить самому геморней.

да геморней, проще 1 галочку поставить чем 50 сниппетов править..


Опубликовано Dalay в пт, 12/03/2010 - 23:22.

"penexe" написал(а):

да геморней, проще 1 галочку поставить чем 50 сниппетов править..

:) Херасе глочки у вас.

Пример, пожалуйста. Того, о чем говоришь.


Опубликовано penexe в пт, 12/03/2010 - 23:29.

есть сайт, 5 видов по 10 отображений в них, заказчик говорит, неплохо было бы добавить к ним поле,
не вопрос раз и готово.

твой вариант: есть 50 функций (самый фиговый вариант) которые делают запросы и тд. надо исправить все sql запросы, функции вывода и тд. а потом еще и проверить не напортачил ли где.
но ты программист клевый у тебя свой мини views велосипед наверно, с целым забором из if`ов на все случаи жизни.


Опубликовано Dalay в пт, 12/03/2010 - 23:44.

"penexe" написал(а):

есть сайт, 5 видов по 10 отображений в них, заказчик говорит, неплохо было бы добавить к ним поле,
не вопрос раз и готово.

твой вариант: есть 50 функций (самый фиговый вариант) которые делают запросы и тд. надо исправить все sql запросы, функции вывода и тд. а потом еще и проверить не напортачил ли где.
но ты программист клевый у тебя свой мини views велосипед наверно, с целым забором из if`ов на все случаи жизни.

:) Какие еще 50 функций? Че за гон? Достаточно добавить новое в запрос и поправить вывод. Что, собственно, делает и виевс, тока за "5 рублей", я же предлагаю снизить расходы до "1 копейки". Хоть и больше телодвижений совершать придеться, но в конечном итоге окупит себя неизмеримо больше. Ты предлагаешь "по-быстрому перепихнуться" и разойтись, а я за любовь. Извини за пафос :)


Опубликовано Dan в сб, 13/03/2010 - 00:44.

"Dalay" написал(а):

Забавно, ты сетуешь, что люди не знают Друпала, и при этом отсылаешь их изучать Вивс. Противоречий не видишь?

Нет, не вижу. Изучить views не в пример проще большинству людей нежели изучить АПИ друпал.

"Dalay" написал(а):

Печально, Ден, когда профессионал становиться ремесленником, и перестает видеть все остальное, что находиться за пределами сферы его меркантильных интересов.

Я экономлю деньги заказчика и занимаюсь оптимизацией реально узких мест сайта, а такие места далеко не всегда запросы views. Если же узкое место - views - нет проблем, перейти на свой код можно очень быстро, даже на продакшене.

Кстати, ты можешь сказать на сколько views неэффективнее собственного кода? С примерами в цифрах?


Опубликовано Dalay в сб, 13/03/2010 - 01:51.

"Dan" написал(а):

Dalay" написал(а):

Забавно, ты сетуешь, что люди не знают Друпала, и при этом отсылаешь их изучать Вивс. Противоречий не видишь?

Нет, не вижу. Изучить views не в пример проще большинству людей нежели изучить АПИ друпал.

:) Правда? Сам понимаешь, что говоришь? Хотя да, изучать мир через телевизор - это вполне в духе времени.

"Dan" написал(а):

Я экономлю деньги заказчика и занимаюсь оптимизацией реально узких мест сайта, а такие места далеко не всегда запросы views. Если же узкое место - views - нет проблем, перейти на свой код можно очень быстро, даже на продакшене.

Чего ты ему экономишь с помощью Виевс, кроме времени общения с тобой, как исполнителем? 95% твоих клиентов хер когда потом соскочат с Виевса. Следующий «мастер» порекомендует «докупить» железных мощностей, а тот, что будет после - перейти на самописный вариант «узкозаточенный под конкретный сайт».:)

Виевс - это не проблема сам по себе, это гавно, как стиль использования движка. Логичное продолжение такого стиля - решение вопроса фотогалереи, банальнейшая вещь в любой другой условно популярной CMS, с помощью установки около десятка дополнительных модулей от разных маинтайнеров. Тут здравый смысл просто не участвует, потому, как не сопоставим с подобной хренью.

"Dan" написал(а):

Кстати, ты можешь сказать на сколько views неэффективнее собственного кода? С примерами в цифрах?

Прочитай предыдущий параграф.


Опубликовано Dan в сб, 13/03/2010 - 08:09.

Views самый популярный модуль Drupal, написан и вылизан он далеко не новичками-нубами, а ребятами которые знают друпал очень хорошо и которые тоже думают о производительности не в последнюю очередь. И их авторитет для меня выше чем твой, потому что они - делают, а ты - говоришь:
* Я тебя попросил привести примеры хороших решений сниппетов, представленных на этом сайте - ты проигнорировал.
* Оценки производительности views и самописного кода от тебя тоже нет (хотя сам требуешь привести тебе примеры).


Опубликовано factor в сб, 13/03/2010 - 08:34.

читал вас, читал и так никто ничего и не написал толкового, одни споры - что лучше...
можете хотя бы ссылки толковые дать, ато по тем что тут давали толком тоже ничего нет, кроме названия хуков...
мне нужно сделать сортировку или выборку, нашел одно решение:
в настройках вьюса добавить фильтр и потом в своем модуле использовать хук дабы подменить запрос, но проблема в том что там несколько аргументов сразу может передаваться, и их число точно не известно, а кол-во фильтров устанавливается вручную... И еще - можно ли как то передавать аргументы вьюсу методом пост?


Опубликовано Dalay в сб, 13/03/2010 - 09:33.

"Dan" написал(а):

Views самый популярный модуль Drupal, написан и вылизан он далеко не новичками-нубами, а ребятами которые знают друпал очень хорошо и которые тоже думают о производительности не в последнюю очередь. И их авторитет для меня выше чем твой, потому что они - делают, а ты - говоришь:
* Я тебя попросил привести примеры хороших решений сниппетов, представленных на этом сайте - ты проигнорировал.
* Оценки производительности views и самописного кода от тебя тоже нет (хотя сам требуешь привести тебе примеры).

:) Dan, ты прикалываешься что ли? Вот щас брошу все на пол и ломанусь по сайте этому примеры тебе выискивать, когда суть претензий вообще иная, не смеши.:)

Ладно, хочешь сказать, что не понял меня, комрад? Ок, попробую еще раз и понятней. В форме ответов-вопросов нормально? Буду считать, что ты кивнул.:)

И так:
В: Что делает модуль Views?
О: (без мата и кратко) Обрабатывает и выводит некие сниппеты, составленные с учетом АПИ Друпала посредством своего собственного АПИ.

В: Можно ли выполнять и выводить результаты таких же сниппетов, но без использования Views и его АПИ?
О: КОНЕШНА

В: Views это один из самых легких модулей для Друпала? Его использование никак не скажется на производительности сайта?
О: Не надо думать про производительность сайта и не надо жадничать - любой уважающий себя сайт с самого начала должен хостится минимум на ВПС, шаред - для лохов и спаммеров.

Ну и тд. Уже подзаебывает, если честно, доказывать очевидное не глупому, вроде, человеку. То, что модуль популярен не говорит, в свете нашей с тобой милой беседы, практически ни о чем. Скорее наоборот: если бы ты не спал на лекциях по гуманитарным дисциплинам, то наверняка бы знал, что большинство редко когда бывает правым(как,тебе Дима Менделеев например, в качестве кандидата в авторитеты?).


Опубликовано Dan в сб, 13/03/2010 - 09:40.

"Dalay" написал(а):

о, что модуль популярен не говорит, в свете нашей с тобой милой беседы, практически ни о чем.

То что модуль популярен говорит о том, что его тестирует очень много людей и вылизывают его не в пример больше чем другие модули. По всем параметрам.

"Dalay" написал(а):

Ну и тд. Уже подзаебывает, если честно, доказывать очевидное не глупому, вроде, человеку.

Не вижу ни одного доказательства. Только фразы "views - говно", большинство - быдло и тд. Это не доказательства, это просто трёп.


Опубликовано Dan в сб, 13/03/2010 - 09:43.

"factor" написал(а):

читал вас, читал и так никто ничего и не написал толкового, одни споры - что лучше...
можете хотя бы ссылки толковые дать, ато по тем что тут давали толком тоже ничего нет, кроме названия хуков...

Мы вообще-то флудим тут. Модераторов нет, поэтому можно оттянуться. Хуки вашу проблему должны решить - реализуйте хук и посмотрите что в него приходит, сразу станет понятно что с этим делать.


Опубликовано Dalay в сб, 13/03/2010 - 09:45.

"Dan" написал(а):

Не вижу ни одного доказательства. Только фразы "views - говно", большинство - быдло и тд. Это не доказательства, это просто трёп.

:) Помимо этих, я и другие слова писал, прочитай их. И не передергивай (опять), про быдло у меня не было.


Опубликовано Dalay в сб, 13/03/2010 - 09:50.

На, Ден, ищи тут доказательства: http://www.google.com/search?q=site%3Awww.drupal.ru%20%D1%81%D0%BD%D0%B8...

И тут еще: http://www.google.com/search?hl=ru&q=site%3Awww.drupal.ru+views+%D0%BF%D...

ПС. Через жопу применяем и виевс бесполезен.


Опубликовано Dalay в сб, 13/03/2010 - 10:00.

"Dan" написал(а):

Мы вообще-то флудим тут. Модераторов нет, поэтому можно оттянуться

:) Может лучше тогда о тетках?


Опубликовано graker в сб, 13/03/2010 - 10:09.

Собственно, если через жопу применять, то сниппет еще более бесполезен, чем Views.

Что касается производительности - интереснее было бы посмотреть на цифры, а не на субъективные мнения, намеки и аналогии (которые, как известно, ложны). Еще неплохо бы в них учесть скорость разработки сложных представлений на Views и изобретения аналогичных велосипедов через API. Особенно с учетом аргументов, отношений, прав доступа, а также необходимости поддержки представлений - клонирования, модификации и т.п. А то так можно договориться до того, что Друпал в принципе говно, так как гораздо быстрее будет работать написанный на ассемблере веб-сервер, в который будет жестко интегрирована вся необходимая функциональность :)

Ну и как правильно замечено, заменить уже сделанную вьюху сниппетом - очень легко (в смысле копирования запроса).


Опубликовано Dalay в сб, 13/03/2010 - 10:47.

"graker" написал(а):

Собственно, если через жопу применять, то сниппет еще более бесполезен, чем Views.

Что касается производительности - интереснее было бы посмотреть на цифры, а не на субъективные мнения, намеки и аналогии (которые, как известно, ложны). Еще неплохо бы в них учесть скорость разработки сложных представлений на Views и изобретения аналогичных велосипедов через API. Особенно с учетом аргументов, отношений, прав доступа, а также необходимости поддержки представлений - клонирования, модификации и т.п. А то так можно договориться до того, что Друпал в принципе говно, так как гораздо быстрее будет работать написанный на ассемблере веб-сервер, в который будет жестко интегрирована вся необходимая функциональность :)

Ну и как правильно замечено, заменить уже сделанную вьюху сниппетом - очень легко (в смысле копирования запроса).

Ну а что мешает лично поэкспериментировать? Ждать, когда кто-то начнет доказывать очевидное, не самая разумная идея.

Заменить то может и легко, тока врят ли кто будет это делать, мне таких случаев не известно, по крайней мере. Ибо мировоззрения уже другие.

А Друпал и есть говно полное в том виде, в котором представляют его «популяризаторы» простых и быстрых решений.

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


Опубликовано Dan в сб, 13/03/2010 - 10:56.

"Dalay" написал(а):

На, Ден, ищи тут доказательства: http://www.google.com/search?q=site%3Awww.drupal.ru%20%D1%81%D0%BD%D0%B8...

Это не доказательства производительности, это простые (да ещё и кривые) сниппеты пользователей, которые шлифуются знающими людьми. Не увидел там сниппетов с кэшированием.

"Dalay" написал(а):

И тут еще: http://www.google.com/search?hl=ru&q=site%3Awww.drupal.ru+views+%D0%BF%D...

Ты сам то смотришь свои ссылки?
Первый топик: "Производительность: Снипет vs Views. А как сделать снипетом, то что делает вьюс"
Кусок сниппета:

<?php
while ($data db_fetch_object($result)) {
          
$node node_load($data->nid);
          
$output .= node_view($nodeTRUE);
    }
?>

Ты тоже так пишешь производительные сниппеты?

Ещё раз: хватит трепаться, докажи тормознутьсть, а не приводи в доказательство крики других людей про медленный views.


Опубликовано Dalay в сб, 13/03/2010 - 11:10.

С каким кэшированием и что такое «производительные сниппеты»? :) Ден, ты реально сьезжаешь на просеку. Галимый сниппет и в Виевсах сотворить не сложно, там никакой защиты от дурака так же не стоит, на сколько мне известно. Про кэш мы выше вроде выяснили, вспомни.

Возьми два одинаковых сниппета, один из которых будет выполняться посредством Виевса, а другой «нативно», без оного. Не важно насколько этот гиппотетический сниппет будет грамотно составлен, сейчас о другом речь. Какой из двух этих вариантов будет производительней? Что бы ответить на этот вопрос мне лично цифры и тесты лабораторные не нужны. Если тебе без этого никак, то помоги себе сам. Поможешь себе - покажешь другим, вдруг и свою точку зрения конкретной инфой подтвердить удасться. И будешь реально коронованный авторитет на родноязычном сайте, а не как те абстрактные фраера с загнивающего капиталистического орга.:)


Опубликовано Dalay в сб, 13/03/2010 - 11:16.

"Dan" написал(а):

Ещё раз: хватит трепаться, докажи тормознутьсть, а не приводи в доказательство крики других людей про медленный views.

То есть эти крики - лишь провокация моих наймитов? Это и есть доказательства, Ден, глаза раскрой пошире.

И я ниче, в принципе, не имею против нашей милой беседы. Не один ты на клиентах навострился по ушам ездить.:)


Опубликовано graker в сб, 13/03/2010 - 11:19.

Dalay написал(а):

Ну а что мешает лично поэкспериментировать? Ждать, когда кто-то начнет доказывать очевидное, не самая разумная идея.

Да уж, действительно, ждать пока кто-то начнет подкреплять свои слова аргументами - не самая разумная идея :) Гораздо разумнее предложить другим доказывать ваши слова, да.

Вы же рассказываете про скорость сниппетов и медленность вьюса, но ничего кроме умозрительных предположений не приводите. Так неинтересно. Я как бы в курсе, что код быстрее надстройки над кодом, нативное быстрее виртуального, а асм в руках мастера быстрее всего на свете. Но это же не повод призывать всех собирать на коленке неделю то, что можно сделать за час ради выигрыша, например, в 10%. Оттого практические подтверждения и интереснее теоретической болтовни.


Опубликовано Dalay в сб, 13/03/2010 - 11:33.

"graker" написал(а):

Да уж, действительно, ждать пока кто-то начнет подкреплять свои слова аргументами - не самая разумная идея :) Гораздо разумнее предложить другим доказывать ваши слова, да.

Вы же рассказываете про скорость сниппетов и медленность вьюса, но ничего кроме умозрительных предположений не приводите. Так неинтересно. Я как бы в курсе, что код быстрее надстройки над кодом, нативное быстрее виртуального, а асм в руках мастера быстрее всего на свете. Но это же не повод призывать всех собирать на коленке неделю то, что можно сделать за час ради выигрыша, например, в 10%. Оттого практические подтверждения и интереснее теоретической болтовни.

graker, мы тут с Деном всего лишь беседуем, никаких призывов к массовым беспорядкам или какой либо другой подобной хрени в моих лозунгах нет, как нет и самих лозунгов, собственно. Наивные иллюзии о перестройки мира оставлены далеко позади вместе с девственностью. Амбиций прослыть мегазнатоком Друпала не испытываю так же.

То, что вами названо «теоретическая болтовня» для меня - практическая реальность. Я не отстаиваю того, чего не попробовал. Так что, дружище graker, все, что у нас действительно есть - это мы сами. И вашим путем, соответственно, пройти сможете лишь только вы сами.


Опубликовано graker в сб, 13/03/2010 - 11:52.

Пример того, что я называю теоретической болтовней: хорошо составленные представления Views работают медленнее хорошо написанных сниппетов. Это заявление бесполезно, поскольку из него нельзя понять, насколько медленнее, и, следовательно, нельзя сделать вывода о том, когда что лучше применять. Впрочем, от этого заявления есть другая польза: оно хорошо подходит, чтобы начать светскую беседу :)

Пример описания "практической реальности": я составил вот такие сниппеты, их аналоги - вот такие представления. Сниппеты заруливают представления по скорости на x%. Из этого практического результата ищущий сможет извлечь пользу и понять:
1) Стоит ли писать, отлаживать и поддерживать сниппеты ради прироста производительности %x в аналогичных задачах.
2) Стоит ли пересмотреть и переделать другие вьюхи в уже существующих проектах, или полученная выгода не стоит усилий.
3) (внимание) Как можно улучшить модуль Views (лично для себя или вообще), чтобы он стал быстрее, по возможности сохранив удобство работы.

Это просто мой взгляд на беседы про Вьюс, извините, если зря вмешался в разговор :)


Опубликовано Dalay в сб, 13/03/2010 - 11:54.

"graker" написал(а):

Да уж, действительно, ждать пока кто-то начнет подкреплять свои слова аргументами - не самая разумная идея :) Гораздо разумнее предложить другим доказывать ваши слова, да.

Аргументов выше было предостаточно, кстати. Основной - здравый смысл, которы вы же сами и обозначили словами об очевидных преимуществах нативных решений.


Опубликовано Dan в сб, 13/03/2010 - 12:00.

"Dalay" написал(а):

Аргументов выше было предостаточно, кстати. Основной - здравый смысл, которы вы же сами и обозначили словами об очевидных преимуществах нативных решений.

В программировании здравый смысл не подкреплённый ничем - демагогия. Все любят кричать "Да ваш код - отстой! Так писать нельзя!", но очень мало кто способен аргументировать.

Я не первый год на d.ru обитаю и прекрасно вижу уровень здешних сниппетов. Это позволяет мне говорить:, что "Люди не знают АПИ..." А раз не знают, значит и не напишут хороший код.

Я с самого начала тебя просил показать хороший сниппет. Ну покажи! Не надо ссылок на целую кучу, дай две-три ссылки.
От тебя в качестве доказательства твоих слов пока две ссылки на гугл, по которым можно найти неправильные и медленные сниппеты (сам ты по этим ссылкам и не ходил, видимо). Покажи мне сниппеты, которые ты считаешь достойными.
Я что много прошу?