Я новичок в Liferay, и у меня есть следующая проблема. Мне нужно создать тему портала - это нормально, нет проблем. Это придаст стилю моему порталу и портлетам по умолчанию. Но в некоторых своих собственных портлетах я использую страницы ZKOSS, которые требуют совершенно другого стиля. У меня вопрос, как сделать, чтобы тематические классы Liferay не влияли на мои страницы ZKOSS? В теме Liferay есть несколько общих стилей, например, для ввода и т. д., но я не хочу, чтобы эти правила применялись внутри моих портлетов ZKOSS. Надеюсь, я ясно объяснил. Какие-либо предложения?
Как сделать разные темы для некоторых портлетов
Ответы (3)
Вы можете установить <css-class-wrapper>My_Portlet</css-class-wrapper>
в файле liferay-portlet.xml.
подробнее см.: http://www.liferay.com/community/wiki/-/wiki/Main/Liferay+UI+Guidelines
Я не знаком с портлетами ZKOSS, но общий способ ввести css для конкретных портлетов — через DOM: проверьте свою страницу, посмотрите, как генерируются ваши портлеты ZKOSS: Liferay создает оболочку вокруг каждого портлета, содержащую имя портлета, вы можно использовать для укладки.
Так как ZKOSS у меня недоступен, вот пример того, как некоторые особенно уродливые стили применяются к каждому портлету навигации:
.portlet-navigation .portlet {
background: purple;
}
Используйте Firebug или аналогичные инструменты, чтобы узнать соответствующую структуру DOM, и просто добавьте необходимые стили для этих элементов в свою тему.
Вы также можете использовать цветовые схемы Liferay для определения отдельного пользовательского интерфейса для одного и того же портлета.
Liferay 7/DXP: https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/specifying-color-schemes
Лайфрей 6.2:
https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-2/specifying-color-schemes