如何回显特定div中的输出

时间:2014-01-21 09:44:01

标签: php css echo

我有一个装满产品的页面,当点击“添加到购物车”按钮后页面重新加载时,我想在添加的产品旁边显示一个复选标记。 使用行和列计数我已经为每个产品分配了自己的类,例如

<div class = "location12">

当按下添加到购物车按钮时,我通过帖子传递了位置,这样我就可以知道按下按钮的哪个div,然后我可以将该数据用作标识符。 我可以通过引用div让页面滚动回到这个位置,但是我很难让图像只显示在那个产品上。它将显示在该产品上,然后显示在它之后的每个产品,因为它在第一次输出后每次循环时都会回显。

已添加到单个产品页面,但他们需要与此处相同的功能:http://confettibox.ch/1-NEWSTORE/index.php?main_page=product_info&cPath=576_578&products_id=1265&language=en

在此页面上: http://confettibox.ch/1-NEWSTORE/index.php?main_page=index&cPath=4_586

添加到购物车按钮提交在这里编码,你可以看到我在哪里添加了隐藏字段来传递div的id

$lc_button= '<div class="back">' . zen_draw_form_prod_list('cart_quantity', preg_replace($pattern, $replacement, $string), 'post', 'enctype="multipart/form-data"') . '</div><div class="back qty_bg"><input type="text" name="cart_quantity" value="' . (zen_get_buy_now_qty($listing->fields['products_id'])) . '" maxlength="6" size="4" /><br />' . zen_draw_hidden_field('products_id', $listing->fields['products_id']) . zen_draw_hidden_field('div_id', $colcount.$rows) . '</div><div class="forward">' . zen_image_submit('button_add.jpg', BUTTON_IN_CART_ALT) . '</form></div><br class="clearBoth">';

我在这里将$ _POST结果添加到会话变量中:

$_SESSION['location'] = (int)$_POST['div_id'];

然后使用:

if ($messageStack->size('listing') > 0 && $_SESSION['location'] == $colcount.$rows) {

这样,messageStack输出(成功复选标记)只会显示该产品...除了显示后面的所有内容:|

使用以下代码输出产品:

if (PRODUCT_LISTING_LAYOUT_STYLE == 'columns') {
  $lc_text = implode('<br />', $product_contents);

  $list_box_contents[$rows][$column] = array('params' => 'class="centerBoxContentsProducts centeredContent back featured'. $column .'"' . ' ' . 'style="width:235px;"',
                                             'text'  => $lc_text = '
                     <div class="prod_table">
                     <div class="prod_image"><a href="' . zen_href_link(zen_get_info_page($listing->fields['products_id']), 'cPath=' . (($_GET['manufacturers_id'] > 0 and $_GET['filter_id']) > 0 ?  zen_get_generated_category_path_rev($_GET['filter_id']) : ($_GET['cPath'] > 0 ? zen_get_generated_category_path_rev($_GET['cPath']) : zen_get_generated_category_path_rev($listing->fields['master_categories_id']))) . '&products_id=' . $listing->fields['products_id']) . '">' . zen_image(DIR_WS_IMAGES . $listing->fields['products_image'], $listing->fields['products_name'], IMAGE_PRODUCT_LISTING_WIDTH, IMAGE_PRODUCT_LISTING_HEIGHT, 'class="listingProductImage"') . '</a></div>
                     <div class="prod_name"><a href="' . zen_href_link(zen_get_info_page($listing->fields['products_id']), 'cPath=' . (($_GET['manufacturers_id'] > 0 and $_GET['filter_id']) > 0 ?  zen_get_generated_category_path_rev($_GET['filter_id']) : ($_GET['cPath'] > 0 ? zen_get_generated_category_path_rev($_GET['cPath']) : zen_get_generated_category_path_rev($listing->fields['master_categories_id']))) . '&products_id=' . $listing->fields['products_id']) . '">' . $listing->fields['products_name'] . '</a></div>
                     <div class="prod_price back">'. zen_get_products_display_price($listing->fields['products_id']) .'</div>
                     <div class = "location'. $colcount.$rows .'">'.$success.' </div>
                     <div class="prod_content forward">'. $the_button .'</div>
                     </div>
                     ');
      $column ++;
  $colcount=$column;

  if ($column >= PRODUCT_LISTING_COLUMNS_PER_ROW) {
    $column = 0;
    $rows ++;

  }
}
// End of Code fragment for Column Layout (Grid Layout) option in add on module
$listing->MoveNext();

$ success是我想要输出支票的地方。

如何才能将成功消息回显到'location12'? 它甚至可能吗?

1 个答案:

答案 0 :(得分:1)

您还没有发布太多代码,但我会尝试回答。 你可以用Javascript或PHP来做。 使用Javascript / jQuery,您可以设置任何div所需的背景图像:

$('.location12').css("background-image", "url(/myimage.jpg)");

使用PHP,您需要计算迭代次数,并仅在$ index == 12上回显图像。 我不知道你是否正在使用foreach,for,while或任何其他方法。 假设它是foreach循环,您可以执行以下操作:

$index = 1;
foreach ($products as $product) {
if ($index == 12) {echo "<img src=''/>"}
$index++;
}

如您所见,jQuery方法更容易。

希望这有帮助!