помогите с .php и .css хаком

kopusha
На сайте с 04.11.2008
Offline
175
602

туплю, не могу допереть.

как обычно не знаю простеёшего - убил кучу времени.

есть 2 разные функции bp_add_friend_button и bp_add_friend_button2

для IE вторая, для остальных первая

<ul id="friend-list" class="item-list">
<?php while ( bp_user_friendships() ) : bp_the_friendship(); ?>

<li>
<?php bp_friend_avatar_thumb() ?>
<h4><?php bp_friend_link() ?><!--[if IE 6]>&nbsp;&nbsp;\&nbsp;&nbsp;<?php bp_add_friend_button2() ?><![endif]--></h4>
<span class="activity"><?php bp_friend_last_active() ?></span>

<div class="action">
<?php bp_add_friend_button() ?>
</div>
</li>

<?php endwhile; ?>
</ul>

в опере\мозиле только их кусок вылезет и всё ок, но в IE оба куска, и я получаю 2 кнопки вместо одной.

Agel Nash
На сайте с 01.12.2008
Offline
61
#1

Попробуй второй блок <?php bp_add_friend_button() ?> тоже спрятать через условный коммент.

Я (http://agel-nash.ru) - вильгельм "ЗАКОЛЕБАТЕЛЬ" Аудит безопасности MODX сайтов (/ru/forum/783778) | Обучение созданию сайтов (http://modcoach.info/)
Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#2

Можно использовать $_SERVER['HTTP_USER_AGENT']

Только у ИЕ6 в юзерагенте будет строка MSIE 6

if (strpos($_SERVER['HTTP_USER_AGENT'], "MSIE 6") != false) {

<функция для IE>

}

else{

<функция для неIE>

}

Условные комментарии поддерживает только IE.

Обычно их используют для ПЕРЕОПРЕДЕЛЕНИЯ css парметров

kopusha
На сайте с 04.11.2008
Offline
175
#3
Agel Nash:
Попробуй второй блок <?php bp_add_friend_button() ?> тоже спрятать через условный коммент.

if фсё остальное)

kopusha добавил 22.03.2009 в 16:29

Алексей Барыкин:
Можно писпользовать $_SERVER['HTTP_USER_AGENT']
Только у ИЕ6 в юзерагенте будет строка MSIE 6

if (strpos($_SERVER['HTTP_USER_AGENT'], "MSIE 6") != false) {
<функция для IE>
}
else{
<функция для неIE>
}

щас буду пробовать

JTRTA
На сайте с 06.07.2008
Offline
25
#4

Хаков желательно все же избегать, к тому же зачем серверу выполнять линий код(обе функции вызовутся в независимости от браузера) когда можно средствами пхп определить браузер:

//вначале скрипта добавляем:

function get_browser_($user_agent,$browsers)

{

foreach($browsers as $browser=>$pattern)

{

if (eregi($pattern, $user_agent))

return $browser;

}

return 'other';

}

$browsers = array(

'ie7' => '(MSIE 7\.[0-9]+)',

'ie6' => '(MSIE 6\.[0-9]+)',

'ie5' => '(MSIE 5\.[0-9]+)'

);

define('__browser',get_browser_($_SERVER['HTTP_USER_AGENT'],$browsers));

ну и дальше что то типа такого:

if(__browser=='other') bp_add_friend_button(); else bp_add_friend_button2();

Дизайн /ru/forum/493415 (/ru/forum/493415) Верстка от 15$ /ru/forum/509339 (/ru/forum/509339) Сайты под ключ aiogino.studio@gmail.com icq: 460146806
kopusha
На сайте с 04.11.2008
Offline
175
#5

этот вопрос закрыт, сделал я 2 функции. толку с них. там глюк для експлорера в цсс огромный, придётся от кнопки в експлорере вообще отказаться наверное.

погуглю минут 20, если не найду решение новую тему создам. или если есть шарящие в глючном цсс для ie люди, стукните в личку или тут - покажу что и куда не сростается.

JTRTA
На сайте с 06.07.2008
Offline
25
#6

давайте пример в личку с глюками ие уже не один год боремся:)

kopusha
На сайте с 04.11.2008
Offline
175
#7
JTRTA:
давайте пример в личку с глюками ие уже не один год боремся:)

хотелось бы поблагодарить JTRTA, Человек пол дня копался в коде css, там реально сложно было, но добился, что в ИЕ6 выглядит так же как и в остальных браузерах. Абсолютно грамотен и адекватен. Спасибо!

ЗЫ - рекомендую)

R2
На сайте с 08.06.2008
Offline
51
#8

kopusha выкладывайте решение ;)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий