Форум русской поддержки Joomla!® CMS
27.06.2017, 02:22:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Можно ли проверить через php что в свойствах CSS?

 (Прочитано 240 раз)
0 Пользователей и 1 Гость смотрят эту тему.
hels
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 165


« : 20.06.2017, 17:31:40 »

Можно ли проверить через php что в свойствах CSS? мне нужно через php узнать значение свойства CSS "display" и на основании его значения сделать условие, есть идеи или прошу нереальное?
Записан
SeBun
Практически профи
*******

Репутация: +181/-5
Offline Offline

Пол: Мужской
Сообщений: 3014



« Ответ #1 : 20.06.2017, 17:44:55 »

Можно. Всего то надо написать парсер CSS и получить из него значение... Но это делается по другому, через JS.

Пример:
Показать текстовый блок
Записан
Septdir
Практически профи
*******

Репутация: +76/-3
Offline Offline

Пол: Мужской
Сообщений: 1790


Skype: septdir


« Ответ #2 : 20.06.2017, 17:51:10 »

На самом деле смотря где эти свойства хранятся. Если в базе то дрегаем из базы. проверяем регулярко.
Если в файле, то дергаем файл и также регуляркой проверям.
На а вообще как говориться выше CSS это фронт, а фронт делается на js
Записан
ProtectYourSite
Завсегдатай
*****

Репутация: +45/-4
Offline Offline

Сообщений: 733



« Ответ #3 : 20.06.2017, 20:38:09 »

Лучше на js, на том же jquery что-то типо:

Код:
$(".имякласса").css("display") == "none"
{
// Здесь исполняем необходимое
}
А если нужно PHP, то используйте AJAX.
Записан
Septdir
Практически профи
*******

Репутация: +76/-3
Offline Offline

Пол: Мужской
Сообщений: 1790


Skype: septdir


« Ответ #4 : 20.06.2017, 20:40:43 »

Я думаю смтоит задать вопроса.
ТС а вам это вообще зачем?
Записан
dmitry_stas
Профи
********

Репутация: +916/-6
Offline Offline

Сообщений: 9544



« Ответ #5 : 20.06.2017, 20:44:06 »

если нужно PHP, то используйте AJAX.
следующим шагом предлагаю рассмотреть возможность поднятия стороннего сервера, задачей которого будет определение свойства display у указанного элемента на указанном сайте Azn

javascript - это наше все.
Записан
Septdir
Практически профи
*******

Репутация: +76/-3
Offline Offline

Пол: Мужской
Сообщений: 1790


Skype: septdir


« Ответ #6 : 20.06.2017, 20:49:27 »

javascript - это наше все.
Да у меня тут сокральная мысь появилась, а не для проверки ли на мобильное устройство это все.
Записан
dmitry_stas
Профи
********

Репутация: +916/-6
Offline Offline

Сообщений: 9544



« Ответ #7 : 20.06.2017, 20:51:50 »

ну вы ж понимаете, что на php к сожалению (или к радости) нет возможности проверить это с гарантией хоть насколько-то приближенной к 100%. для того чтобы это проверить надо будет написать аналог браузера. на php Azn
Записан
hels
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 165


« Ответ #8 : 21.06.2017, 11:19:37 »

нужно мне это чтобы менять стиль одного элемента, но только когда не работает один модуль(таймер акций в карте товара), но даже когда он не работает в DOM он есть прост в стилях становится display:none(если бы хоть что-то менялось в дереве я бы стилями все порешал, но ничего не меняется..), вот я и подумал как-то отследить display этого модуля..
Записан
hels
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 165


« Ответ #9 : 21.06.2017, 11:38:04 »

рано обрадовался, у каждого товара ид модуля разный #class11 #class12 и так далее, как теперь определить display? или уже нереал?
Записан
darkghost
Практически профи
*******

Репутация: +85/-0
Offline Offline

Сообщений: 2013



« Ответ #10 : 21.06.2017, 11:42:18 »

каким образов внедрен ... таймер акций в карте товара ? И суть дела - на одном товаре показывать таймер, на другом - нет или что?
Хорошо бы посмотреть на пациента вживую. Может там можно обойтись малыми силами ...
Записан
ProtectYourSite
Завсегдатай
*****

Репутация: +45/-4
Offline Offline

Сообщений: 733



« Ответ #11 : 21.06.2017, 11:43:17 »

А не проще выяснить причину, почему модуль не работает?
Записан
dmitry_stas
Профи
********

Репутация: +916/-6
Offline Offline

Сообщений: 9544



« Ответ #12 : 21.06.2017, 11:43:40 »

нужно мне это чтобы менять стиль одного элемента
это javascript

рано обрадовался, у каждого товара ид модуля разный #class11 #class12 и так далее, как теперь определить display? или уже нереал?
ну как то же его все равно можно идентифицировать? пусть не по классу, по чем то еще. но наверняка же можно

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

в общем имхо все там решается элементарно, но просто надо понимать с чем работать. вслепую гадать тяжело.
Записан
rkron
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 70


« Ответ #13 : 21.06.2017, 12:20:38 »

По ходу это изобретение велосипеда. Если динамично js если в ручную загнать на php переменную.
Записан
hels
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 165


« Ответ #14 : 21.06.2017, 12:22:03 »

Код:
<script type="text/javascript" language="javascript">
if($(".ot_discount_product").css("display") == "none"){
document.write('<div class="no-timer"></div>');
}
</script>
чет не пашет, а нужно чтобы в месте где я расположил скрипт (default.php из productdetalis) по условию выводился другой пустой класс, а дальше я уже через соседние классы CSS назначу нужный стиль элементу, или этот скрипт надо кинуть в код самого модуля?
Записан
dmitry_stas
Профи
********

Репутация: +916/-6
Offline Offline

Сообщений: 9544



« Ответ #15 : 21.06.2017, 12:27:35 »

Если динамично js если в ручную загнать на php переменную.
звучит очень круто. правда нифига не понятно Azn

Показать текстовый блок

чет не пашет
может быть на момент выполнения скрипта этого элемента с классом ot_discount_product еще нет в HTML. может быть еще что-то. мы гадаем в слепую. не очень охота...
Записан
hels
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 165


« Ответ #16 : 21.06.2017, 12:32:56 »

если смотреть по DOM то скрипт располагается ниже класса модуля, так что думаю он должен его видеть
Записан
ProtectYourSite
Завсегдатай
*****

Репутация: +45/-4
Offline Offline

Сообщений: 733



« Ответ #17 : 21.06.2017, 12:34:30 »

Код:
<script type="text/javascript" language="javascript">
if($(".ot_discount_product").css("display") == "none"){
document.write('<div class="no-timer"></div>');
}
</script>
чет не пашет, а нужно чтобы в месте где я расположил скрипт (default.php из productdetalis) по условию выводился другой пустой класс, а дальше я уже через соседние классы CSS назначу нужный стиль элементу, или этот скрипт надо кинуть в код самого модуля?
Добавьте событие, когда должно проверять: по клику, после загрузки страницы и т.п.
Записан
dmitry_stas
Профи
********

Репутация: +916/-6
Offline Offline

Сообщений: 9544



« Ответ #18 : 21.06.2017, 12:37:47 »

если смотреть по DOM то скрипт располагается ниже класса модуля, так что думаю он должен его видеть
кого его? элемент? может быть. а свойство display на этот момент вы уверены что уже none?

еще раз повторюсь - очень трудно найти в тёмной комнате чёрную кошку. особенно, если ее там нет Azn
Записан
hels
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 165


« Ответ #19 : 21.06.2017, 12:40:13 »

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

пс: какой велосипед городил покажу чуть позже и да эта вся мозгое* модификация для мобильной версии сайта в определенном разрешении.
Записан
hels
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 165


« Ответ #20 : 21.06.2017, 13:23:45 »

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

Показать текстовый блок
« Последнее редактирование: 21.06.2017, 13:28:38 от hels » Записан
rkron
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 70


« Ответ #21 : 21.06.2017, 16:34:55 »

Получилось лучше
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet