Отображение только элементов на текущем языке пользователя в full_review_list для Plone > 4.0.7

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

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

1 ответ

Решение

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

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

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

Другие вопросы по тегам