Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 3461 Просмотров
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
всем доброго времени суток, уважаемые форумчане!
возник вопрос касательно модуля и хака сравнения товаров http://joomlaforum.ru/index.php/topic,100525.0.html.
есть в одном из файлов такой код
Код
<?PHP
//$param['product_type_id'] = $product_type_id;
//$_SESSION['vmCompareBtnParam'] = $param;
?>
<div  class="check">
<?PHP if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
//$show_checkboxes = @$_SESSION['vmCompareParam']['show_checkboxes'];
//$product_type_id = $param['product_type_id'];
$session =& JFactory::getSession();
$compare = $session->get('compare');
if(isset($compare[$product_type_id])&& is_array($compare[$product_type_id]) && in_array($product_id, $compare[$product_type_id]) )
 {   $checkValue = 'checked="checked"';}
else {  $checkValue = '';}
?>
<input name="compare_<?PHP echo $product_id ?>" id="compare_cart_<?PHP echo $product_id ?>" alt="Сравнить" title="Сравнить" type="checkbox" <?PHP echo $checkValue ?> onclick="return CompareProduct( this,<?PHP echo $product_type_id ?>);" class="compare_checkbox">
<?PHP echo "сравнить"?>
 </div>
конструкция данного кода такая: чекбокс и рядом с ним текст "сравнить".
как сделать так, чтобы когда кликали по чекбоксу текст рядом с ним изменялся на "перейти к сравнению"?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Приветствую, Катя. Все еще возитесь с этим файлом?
Делайте так:
Код
<?php
if ($checkValue = 'checked="checked"'){
echo "перейти к сравнению";
} else {
echo "сравнить";
}
?>
Не будь паразитом, сделай что-нибудь самостоятельно!
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
не, я краткими перебежками на него нападаю. =) приходит очередная мысль в голову,  начинаю придумывать как ее осуществить. со всплывающим окном не вышло - слишком много скриптов подключено, где-то конфликт, а чтобы разобраться где и как его убрать - знаний не хватает. =(
"перейти к сравнению" отображается постоянно независимо от галки в чекбоксе.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Код
if(isset($compare[$product_type_id])&& is_array($compare[$product_type_id]) && in_array($product_id, $compare[$product_type_id]) )
 {   $checkValue = 'checked="checked"';
$text = 'перейти к сравнению';
}
else {  $checkValue = '';
$text = 'сравненить';
}
.....
<input name="compare_<?PHP echo $product_id ?>" id="compare_cart_<?PHP echo $product_id ?>" alt="Сравнить" title="Сравнить" type="checkbox" <?PHP echo $checkValue ?> onclick="return CompareProduct( this,<?PHP echo $product_type_id ?>);if (compare_cart_<?PHP echo $product_id ?>.checked) {document.getElementById('label').innerText = 'перейти к сравнению'} else {document.getElementById('label').innerText = 'сравнить'};" class="compare_checkbox">
<label id="label"><?php echo $text ?></label>
Не будь паразитом, сделай что-нибудь самостоятельно!
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
Роберт! Вы меня не оставляете наедине с моими проблемами. =) за это Вам огромнейшее спасибо! =) код заменила. только "сравнить" изменяется на "перейти к сравнению" после перезагрузки страницы. можно сделать, чтобы "перейти к сравнению" появлялось сразу?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
попробуйте поменять порядок исполнения комманд:
Код
onclick="if (compare_cart_<?PHP echo $product_id ?>.checked) {document.getElementById('label').innerText = 'перейти к сравнению'} else {document.getElementById('label').innerText = 'сравнить'};return CompareProduct( this,<?PHP echo $product_type_id ?>);"
Не будь паразитом, сделай что-нибудь самостоятельно!
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
почти... один чекбокс изменяется, остальные уже нет. при переходе по ссылке и возврате на страницу все выбранные становятся "перейти к сравнению". если надо - сами посмотрите http://test.katalliana.org/ru/internet-magazin/category/13-grili-barbekyu-na-tverdom-toplive.html
« Последнее редактирование: 06.02.2013, 10:10:55 от katjuha6 »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Код
<input name="compare_<?php echo $product_id ?>" id="compare_cart_<?php echo $product_id ?>" alt="Сравнить" title="Сравнить" type="checkbox" <?php echo $checkValue ?> onclick="if (compare_cart_<?php echo $product_id ?>.checked) {document.getElementById('<?php echo $product_id ?>_label').innerText = 'перейти к сравнению'} else {document.getElementById('<?php echo $product_id ?>_label').innerText = 'сравнить'};return CompareProduct( this,<?php echo $product_type_id ?>);" class="compare_checkbox">
<label id="<?php echo $product_id ?>_label"><?php echo $text ?></label>
Не будь паразитом, сделай что-нибудь самостоятельно!
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
просто песня! я Вас обожаю! =)))) последний вопрос и тему можно закрывать
смотрите, я сделала так:
в том месте страницы, где находится модуль, поставила ссылку вида
Код
<a name="comp">Сравнение выбранных товаров</a>
строку
Код
$text = 'перейти к сравнению';
заменила на
Код
<a href="#comp">перейти к сравнению</a>
ссылка работает, но после перезагрузки страницы. я так подозреваю, что надо ссылку поставить и сюда тоже
Код
innerText = 'перейти к сравнению'
вот и вопрос: как ее сюда поставить. я попыталась сделать так:
Код
innerText = '<a href="#comp">перейти к сравнению</a>'
как Вы понимаете - так не работает...
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
все, разобралась. надо было так
Код
innerHTML = '<a href=#comp>перейти к сравнению</a>'
спасибо Вам, Роберт! =)))
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Смена текста при нажатии на чекбокс
« Ответ #10 : 13.02.2013, 16:21:24 »
все, разобралась. надо было так
Код
innerHTML = '<a href=#comp>перейти к сравнению</a>'
спасибо Вам, Роберт! =)))
я тут ни при чем.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

katjuha6

  • Захожу иногда
  • 173
  • 0 / 0
Re: Смена текста при нажатии на чекбокс
« Ответ #11 : 14.02.2013, 12:35:57 »
как это не при чем! Вы дали мне основу, и натолкнули на правильную мысль! =)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

2 поля текста в категории

Автор Joury

Ответов: 1
Просмотров: 1279
Последний ответ 27.11.2012, 11:25:04
от azovkor
чекбокс вместо кнопки "купить"

Автор bil

Ответов: 0
Просмотров: 1310
Последний ответ 17.02.2011, 17:23:52
от bil
Нужно чтобы открывалась страница внешнего сайта при нажатии на изображении товара

Автор kamilchik

Ответов: 7
Просмотров: 1626
Последний ответ 20.01.2011, 21:35:41
от varX
Смена шапки сайта по выбору категории магазина?

Автор NOJEK

Ответов: 2
Просмотров: 1606
Последний ответ 27.09.2010, 00:37:06
от NOJEK
Шаблон модуля вывода текста

Автор intcorp

Ответов: 1
Просмотров: 1412
Последний ответ 02.09.2009, 12:34:48
от intcorp