Отображение только элементов на текущем языке пользователя в full_review_list для Plone> 4.0.7 - PullRequest
3 голосов
/ 15 августа 2011

A недавнее изменение (ссылка на Google Cache, так как d.p.org, похоже, сейчас не работает) на способ, которым Plone вычисляет список рецензий для представления full_review_list. Чтобы лучше поддерживать LinguaPlone, WorkflowTool теперь явно добавляет Language='all' к запросу, используемому для получения рабочего списка, тогда как раньше отображались только результаты на текущем языке пользователя. Код в Products.CMFPlone.WorkflowTool#getWorklistsResults().

Можно ли переопределить это новое поведение, чтобы получить старое поведение?

1 Ответ

2 голосов
/ 16 августа 2011

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

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

Если вы хотите увидеть изменения в полном списке просмотра, на который вы щелкаете в портлете, то вам придется использовать colle.monkeypatcher для исправления метода в portal_workflow. Я бы порекомендовал против этого, так как вы, вероятно, хотите, чтобы пользователи могли просмотреть полный список отзывов со всеми языками.

...