Бесплатные консультации по MODx Evolution и Revolution

[Удален]
#41
WhiteKrol:


Что конкретно не получается?
Приведите скрин дерева документа и вызовы wf.

Я так и не понял, секретарша должна делать 2 действия чтоли?

1. Сначала создать документ, указать, чтобы он не показывался в меню.

2. В папке (например) "Левое меню" создать пункт меню и ссылку на этот документ.

Если так, то это конкретная засада.

[[!Wayfinder? &startId=`21` &scheme=`full` ]] - это "Главное меню".

[[!Wayfinder? &startId=`22` &scheme=`full` ]] - это "Левое меню".

Да и какая-то фигня, папки "Главное меню" и "Левое меню" отображаются в адресе сайта domain.ru/glavnoe-menyu и domain.ru/levoe-menyu - наверное можно как-то запретить формирование и их вывод.

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

А по поводу выводу новостей не можете показать рабочий пример? Читал всякие там уроки, но не получается.

gif menu.gif
DiAksID
На сайте с 02.08.2008
Offline
236
#42
WhiteKrol:

1. Как вы заставите Wayfinder фильтровать по TV?
2. Проходки по всему дереву документов ради одного меню? Лучше сразу отказаться от веб-разработки и найти студию.

без обид, но консультанту надо знать такие простейшие фичи MODx ;) азбучные как бе:

заставить не сложно: всего лишь играем с параметрами "includeDocs" и/или "excludeDocs" и/или "where"(тут синтаксис типа [{"id:IN": [[[$чанк]]]}]), которые задаются кэшируемыми чанками, в которых getResources собирает id документов с нужными значениями TV.

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

show must go on !!!...
WhiteKrol
На сайте с 08.05.2012
Offline
38
#43
DiAksID:
без обид, но консультанту надо знать такие простейшие фичи MODx ;) азбучные как бе:

заставить не сложно: всего лишь играем с параметрами "includeDocs" и/или "excludeDocs" и/или "where"(тут синтаксис типа [{"id:IN": [[[$чанк]]]}]), которые задаются кэшируемыми чанками, в которых getResources собирает id документов с нужными значениями TV.

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

Без обид, но это не фичи MODx - это в чистом виде извращение :)

Если вы можете составить нормальное условие выборки для WF через where, зачем этот велосипед с тяжеловесом getResource? Почему не проще написать свой простой 5 строчный сниппет, который пробежится по нужным документам и выберет вам нужные?

$modx->getCollection() всегда же к вашим услугам, нет?

По поводу кэширования - оно вас не спасет на крупных проектах, где частота обновления материала раз в несколько минут. Как минимум клиентов которые обращаются ко мне за оптимизацией описанных выше костылей не спасло. Приходилось отказываться от WF с getResources и делать все по человечески.

---------- Добавлено 11.11.2012 в 12:29 ----------

Металл:
Я так и не понял, секретарша должна делать 2 действия чтоли?
1. Сначала создать документ, указать, чтобы он не показывался в меню.
2. В папке (например) "Левое меню" создать пункт меню и ссылку на этот документ.
Если так, то это конкретная засада.

[[!Wayfinder? &startId=`21` &scheme=`full` ]] - это "Главное меню".

[[!Wayfinder? &startId=`22` &scheme=`full` ]] - это "Левое меню".

Да и какая-то фигня, папки "Главное меню" и "Левое меню" отображаются в адресе сайта domain.ru/glavnoe-menyu и domain.ru/levoe-menyu - наверное можно как-то запретить формирование и их вывод.

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

А по поводу выводу новостей не можете показать рабочий пример? Читал всякие там уроки, но не получается.

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

[Удален]
#44
WhiteKrol:
Без обид, но это не фичи MODx - это в чистом виде извращение :)

О, поехали! Битва Титанов понеслась :)

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

Рекс, Пекс, Фекс! Заклинаю - да будет свободное время у вас очень скоро и вы с большим удовольствием сделаете подробную инструкцию для нуждающихся! :)

DiAksID
На сайте с 02.08.2008
Offline
236
#45
WhiteKrol:
Без обид, но это не фичи MODx - это в чистом виде извращение
Если вы можете составить нормальное условие выборки для WF через where, зачем этот велосипед с тяжеловесом getResource? Почему не проще написать свой простой 5 строчный сниппет, который пробежится по нужным документам и выберет вам нужные? :)

без обид, но вот это уже чушь ;)

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

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

[Удален]
#46

И вот DiAksID наносит ответный удар:

DiAksID:
без обид, но вот это уже чушь ;)

Чем-же ответит ему Белый Крол? Это мы скоро узнаем.

А тем временем написание инструкции по созданию меню отодвигается всё дальше и дальше.

Ну, что поделаешь - война у Титанов :) Это вам не в асики играть и не воробьям дули показывать или инструкции строчить для нуждающихся и угнетённых.

Как говорится - Есть дела поважнее мира!

IL
На сайте с 20.04.2007
Offline
435
#47

DiAksID, WhiteKrol, предлагаю более конструктивное обсуждение. /без чушей/

Попробую подытожить.. Средствами MODx "меню с галочками" реализовать возможно.. (хотя я, честно говоря, считаю, что для большинства сайтов достаточно правильно "раскидать" ресурсы и научить редактора пользоваться единственной галкой "Показывать в меню")

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

По поводу производительности - если у WhiteKrol есть конкретные цифры, примеры исправлений (я бы ознакомился.. если не коммерческая тайна, конечно) или кейсы которые позволят воспроизвести "тормознутость" указанной связки (к примеру, на 5к документов.. или при обновлении x раз в минуту.. и тд)... Возможно, станет понятно, что для сайта, с публикацией раз в неделю (а то и для визитки, с обновлением раз в месяц) вариант более чем приемлемый.. Особенно для тех, кто далёк от программирования ;)

p.s. 2 Металл, на самом деле сниппет "с галочками" (про который говорил WhiteKrol) занимает 3-5 строчек на PHP.. (ну не, можно и в одну разместить..) Да и реализацию штатными средствами уже подсказали.. Думаю, нет смысла ждать.. пора действовать самому! А то можно и попкорном подавиться..

p.p.s. по поводу оптимальности и тормозов - xPDO + EXTjs + встроенный парсер.. кхм.. кхм..

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
[Удален]
#48
ivan-lev:
хотя я, честно говоря, считаю, что для большинства сайтов достаточно правильно "раскидать" ресурсы

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

IL
На сайте с 20.04.2007
Offline
435
#49
Металл:
Вы не могли бы более конкретно объяснить для чайника, что это значит и как реализовать?

Как правило, у нормально структурированного сайта есть основное меню (пусть будет "Главная", "Услуги", "Новости", "О компании" "Контакты" итд) на сайте.. будем считать для простоты, что меню одноуровневое.. по сути, переносится на любое количество уровней с небольшими изменениями-дополненями)

Если требуется "второе" меню (к примеру, меню услуг) - использовать сниппет со стартовым ID пункта "Услуги" - выведет все дочерние ресурсы...

Галочками (а также includeDocs|excludeDocs.. в крайнем случае TV - см выше) можно настроить отображение в меню (если требуется какой-либо из корневых документов спрятать).. Как правило, это делается один раз при создании структуры..

В случае глобальной "реструктуризации" сайта, возможно, "редактор/секретарша" не справится с размещением "хитрого" пункта.. (хотя, вариант с добавлением ссылки уже обсуждался) Но, раз на то пошло, то и верхнее меню может не вместить ОченьДлинныйДополнительныйПункт и перенесётся на следующую строчку.. и вообще много чего возможно..

В общем, всё от каши в голове на сайте

p.s. Вообще, что-нибудь по теме читать пробовали?

http://rtfm.modx.com/display/ADDON/Wayfinder+Introductory+Examples

http://efimov.ws/main/develop/modx/menu-wayfinder-MODx.html

http://modx.ws/blog/uroki-modx-revolution/vyivod-menyu-s-pomoshhyu-wayfinder.html

[Удален]
#50
ivan-lev:


Если требуется "второе" меню (к примеру, меню услуг) - использовать сниппет со стартовым ID пункта "Услуги" - выведет все дочерние ресурсы...

Так и делаю, но выводится полная копия главного блока меню.

[[!Wayfinder? &startId=`0`!]] - выводит главный блок.

[[!Wayfinder? &startId=`5`!]] - выводит копию главного блока.

Уроки читал. Никому бы не советовал читать уроки уважаемого Виктора :) Извини Виктор, в них столько "воды", что они лично мне создали головную боль и проблеммы, а не разрешение моих проблемм :) Хотя, может кому-то они и понравятся. А вот посоветовал бы "чайникам", новичкам и ценителям своего времени и нервов следовать инструкциям Василисы - всё просто и без соплей :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий