Dzi 0 02/21/18 16:29 Возможно как-то задать чтобы к примеру с одной темой блок выглядел иначе чем с другой.К примеру у меня есть 2 темы, одна светлая, вторая тёмная..и виджет с кодом дискорда тёмного цветаХочется чтобы а белой теме был другой код с белым цветом(код у меня есть, осталось понять как сделать чтобы он переключался)Помогите. Поделиться сообщением Ссылка на сообщение
Dmitriy427 198 02/21/18 20:47 В настройках внешнего вида, в свойствах темы "Light" кликаете по иконке "Редактировать HTML и CSS", во вкладке CSS выбираете core -> front -> custom -> custom.css и добавляете туда свои селекторы, например:#discord-widget .widget-body { background-color: #f3f3f3 !important; color: #6a6b80 !important; }Сохраняете тему и смотрите результат. Поделиться сообщением Ссылка на сообщение
Dzi 0 02/22/18 00:09 Короче ваш вариант не помог.Но я нашёл решение радикальноВзял и просто вставил в код sidebar напрямую код дискорда после виджетов. {{$adsForceSidebar = ( \IPS\Settings::i()->ads_force_sidebar AND \IPS\core\Advertisement::loadByLocation( 'ad_sidebar' ) );}} {{if (isset( \IPS\Output::i()->sidebar['enabled'] ) and \IPS\Output::i()->sidebar['enabled'] ) && ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) || ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) || ( \IPS\Dispatcher::i()->application instanceof \IPS\Application AND \IPS\Dispatcher::i()->application->canManageWidgets() ) || $adsForceSidebar )}} <div id='ipsLayout_sidebar' class='ipsLayout_sidebar{$position} {{if !( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) && ( !isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) || !count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) && \IPS\Dispatcher::i()->application->canManageWidgets() && !$adsForceSidebar}}ipsLayout_sidebarUnused{{endif}}' data-controller='core.front.widgets.sidebar'> {{if isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== ''}} <aside id="elContextualTools" class='ipsClearfix' {{if isset( \IPS\Output::i()->sidebar['sticky'] )}}data-ipsSticky{{endif}}> {expression="\IPS\Output::i()->sidebar['contextual']" raw="true"} </aside> {{endif}} {{if $adsForceSidebar OR ( \IPS\core\Advertisement::loadByLocation( 'ad_sidebar' ) AND ( ( isset( \IPS\Output::i()->sidebar['contextual'] ) && trim( \IPS\Output::i()->sidebar['contextual'] ) !== '' ) OR ( isset( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) && count( \IPS\Output::i()->sidebar['widgets']['sidebar'] ) ) ) )}} <div data-role='sidebarAd'> {advertisement="ad_sidebar"} </div> <br><br> {{endif}} {template="widgetContainer" group="global" app="core" params="'sidebar', 'vertical'"}<br> <iframe src="https://discordapp.com/widget?id=388039995375484948&theme=light" width="328" height="400" allowtransparency="true" frameborder="0"></iframe> </div> {{endif}} Поделиться сообщением Ссылка на сообщение
Dzi 0 02/22/18 00:49 Только вот теперь виджет отображается на всех страницах - а хотелось бы чтобы только на главной.. Поделиться сообщением Ссылка на сообщение
newbie 1723 02/22/18 06:35 Добавьте 2 виджета. После в темном стиле скроете светлый, а в светлом - темный Поделиться сообщением Ссылка на сообщение
newbie 1723 02/22/18 07:10 Через css. Я не вижу у Вас на форуме виджетов Поделиться сообщением Ссылка на сообщение
Dzi 0 02/22/18 07:35 Суть в том что мне нужно блок с виджетом скрыть а не только виджет сам. Поделиться сообщением Ссылка на сообщение
newbie 1723 02/22/18 07:40 Скрывайте. Смотрите селектор у блока.В IPS виджет - это блок с названием и содержимым, а не содержимое Поделиться сообщением Ссылка на сообщение
Dzi 0 02/22/18 08:20 Я плохо вдупляю.Давайте я поставлю блок с дискордом обратно и вы покажите мне пример на нём..А то я пытаюсь кубик в кружок впихнуть и не понимаю.. заранее спасибо.. Поделиться сообщением Ссылка на сообщение
newbie 1723 02/22/18 08:28 Каждый виджет имеет атрибут data-blockid с уникальным значением.В данном случае data-blockid="plugin_3_sodTxtWidget_5w8hbhe8u" Чтобы скрыть виджет, нужно добавить в custom.cssli[data-blockid="plugin_3_sodTxtWidget_5w8hbhe8u"] { display: none; } 1 Поделиться сообщением Ссылка на сообщение
Dzi 0 02/22/18 08:34 Лол, всё так просто?!Большое спасибо..Можете заглянуть пожалуйста ещё в соседнию темку, если не затруднит.. :unsure: Поделиться сообщением Ссылка на сообщение
newbie 1723 02/22/18 08:46 Можно еще проще сделать. С одним виджетомТемная тема<iframe id="elDiscord_dark" src="https://discordapp.com/widget?id=388039995375484948&theme=dark" width="328" height="400" allowtransparency="true" frameborder="0"></iframe>Светлая тема<iframe id="elDiscord_light" src="https://discordapp.com/widget?id=388039995375484948&theme=light" width="328" height="400" allowtransparency="true" frameborder="0"></iframe> И css в зависимости от стиля#elDiscord_dark { display: none; }или #elDiscord_light { display: none; } Либо средствами js вообще вырезать из кода$('#elDiscord_dark').remove();$('#elDiscord_light').remove(); Кстати у плагина, с помощью которого реализовано, есть php-версия. Можно определять стиль юзера, и выводить 1 фрейм в зависимости от стиля Поделиться сообщением Ссылка на сообщение