Invision Community 4: SEO, prepare for v5 and dormant account notifications By Matt Monday at 02:04 PM
Fawk Posted March 19, 2017 Posted March 19, 2017 Hi, I'm trying to move the Product Information and Product Reviews from the bottom to right below the product images as per the screen shot. After moving the codes around, I got where I want the information and reviews to be at, but the page is stuck in an infinite refresh. Can anyone tell me how I can fix this please? This is the original store code. <div itemscope itemtype="http://schema.org/Product"> <meta itemprop="sku" content="{$package->id}"> <div class='cNexusProduct_header ipsColumns ipsColumns_collapsePhone' data-controller='nexus.front.store.packagePage' data-itemTitle="{$package->_title}"> <div class='ipsColumn ipsColumn_veryWide ipsBox'> <div class='ipsPad ipsType_center ipsContained'> {{if $images = $item->images() and count( $images )}} {{$donePrimary = false;}} {{foreach $images as $image}} {{if !$donePrimary}} <a href='{$image}' class='cNexusProduct_primaryImage ipsContained' data-ipsLightbox data-ipsLightbox-group='product' data-ipsProductZoom><img src='{$image}' class="ipsImage ipsImage_thumb" itemprop="image"></a> {{$donePrimary = true;}} {{endif}} {{endforeach}} <div class='cNexusProduct_images ipsSpacer_both'> <ul class='ipsList_inline ipsList_noSpacing'> {{foreach $images as $image}} <li> <a href='{$image}' data-action='toggleImage' class='ipsAreaBackground_light'><img src='{$image}' class="ipsImage ipsImage_thumb ipsThumb_tiny"></a> </li> {{endforeach}} </ul> </div> <span class='ipsType_small ipsType_light'><i class='fa fa-search-plus'></i> {lang="product_zoom_desc"}</span> {{else}} <div class='ipsNoThumb ipsThumb_large ipsNoThumb_product'> </div> {{endif}} </div> </div> <div class='ipsColumn ipsColumn_fluid '> <div class='ipsBox ipsPad'> <h1 class='ipsType_pageTitle ipsType_largeTitle' itemprop="name">{$item->mapped('title')}</h1> {{if $package->reviewable}} <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> {template="rating" group="global" app="core" params="'large', $item->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $item->memberReviewRating()"} <span class='ipsType_medium'>({lang="num_reviews" pluralize="$item->reviews"})</span> <meta itemprop="ratingValue" content="{$item->averageReviewRating()}"> <meta itemprop="reviewCount" content="{$item->reviews}"> </div> {{endif}} <span data-role="price">{$package->priceToDisplay( NULL, FALSE )|raw}</span> {{if $renewalTerm}} <span data-role="renewalTerm" class="ipsType_light">{{if $renewalTerm !== TRUE}}{lang="and_renewal" sprintf="$renewalTerm->toDisplay()"}{{endif}}</span> {{endif}} {{if \IPS\Member::loggedIn()->language()->checkKeyExists('nexus_tax_explain_val')}}<span class='cNexusPrice_tax ipsType_light'>{lang="nexus_tax_explain_val"}</span>{{endif}} {{if settings.nexus_show_stock and $package->stock != -1}} <br><span data-role="stock">{{if $package->stock == -2}}{{else}}{lang="x_in_stock" pluralize="$package->stock - $inCart"}<link itemprop="availability" content='in_stock' href="http://schema.org/InStock">{{endif}}</span> {{endif}} <div class='ipsType_richText ipsType_medium ipsType_break ipsContained ipsSpacer_top' data-ipsTruncate data-ipsTruncate-size='2 lines' data-ipsTruncate-type='remove'> {$item->truncated()|raw} </div> <hr class='ipsHr'> <div class='ipsAreaBackground ipsPad ipsSpacer_bottom'> {$purchaseForm|raw} </div> {{if count( $item->shareLinks() )}} {template="sharelinks" app="core" group="global" params="$item"} {{endif}} </div> </div> </div> <section class='ipsBox ipsSpacer_top'> <div class="ipsTabs ipsClearfix" id="elProductTabs" data-ipsTabBar data-ipsTabBar-contentArea="#elProductTabs_content"> <a href="#elProductTabs" data-action="expandTabs"><i class="fa fa-caret-down"></i></a> <ul role="tablist"> <li> <a href="#" id="elProductInfo" class="ipsTabs_item ipsType_center ipsTabs_activeItem" role="tab" aria-selected="true">{lang="product_information"}</a> </li> {{if $package->physical}} <li> <a href='#' id='elShipping' class='ipsTabs_item ipsType_center' role="tab" aria-selected="false">{lang="shipping_information"}</a> </li> {{endif}} {{if $package->reviewable and ( $item->canReview() or count( $item->reviews() ) )}} <li> <a href="#" id="elReviews" class="ipsTabs_item ipsType_center" role="tab" aria-selected="false">{lang="product_reviews_pl"}</a> </li> {{endif}} </ul> </div> <div id="elProductTabs_content" class="ipsTabs_panels"> <div id="ipsTabs_elProductTabs_elProductInfo_panel" class="ipsTabs_panel ipsAreaBackground_reset ipsPad" aria-hidden="false"> <h2 class='ipsType_sectionHead ipsSpacer_top'>{lang="about_product" sprintf="$item->mapped('title')"}</h2> <div class='ipsType_richText ipsType_normal ipsType_break ipsContained ipsSpacer_top' itemprop="description"> {$package->description} </div> </div> {{if $package->physical}} <div id='ipsTabs_elProductTabs_elShipping_panel' class='ipsTabs_panel ipsAreaBackground_reset ipsPad' aria-hidden='false'> {{if count( $shippingMethods )}} <h2 class='ipsType_sectionHead ipsSpacer_top'>{lang="product_shipping_options"}</h2> <p class='ipsType_reset ipsType_medium ipsType_light'>{lang="product_shipping_blurb"}</p> {{if $locationType != 'none'}} <p class='ipsType_reset ipsType_medium ipsType_light'> {{if $locationType == 'address'}} {lang="product_shipping_blurb_address"} {{else}} {lang="product_shipping_blurb_geo"} {{endif}} </p> {{endif}} {{if $itemDataForShipping}} <ul class='ipsDataList ipsDataList_reducedSpacing ipsSpacer_top'> {{foreach $shippingMethods as $rate}} <li class='ipsDataItem'> <div class='ipsDataItem_main'> <strong>{{if $rate->getPrice( array( $itemDataForShipping ), $itemDataForShipping->price->currency )->amount->isZero()}}<span class='ipsType_success'>{lang="free_shipping"}</span>{{else}}{$rate->getPrice( array( $itemDataForShipping ), $itemDataForShipping->price->currency )}{{endif}}</strong> - {$rate->getName()}{{if $estimatedDeliveryTime = $rate->getEstimatedDelivery( array( $itemDataForShipping ) )}} <span class='ipsType_light'>({$estimatedDeliveryTime})</span>{{endif}} </div> </li> {{endforeach}} </ul> {{endif}} <br> {{endif}} <h2 class='ipsType_sectionHead'>{lang="shipping_sizing"}</h2> <ul class='ipsDataList ipsDataList_reducedSpacing ipsSpacer_top'> <li class='ipsDataItem'> <div class='ipsDataItem_generic ipsDataItem_size3'> <strong>{lang="size"}</strong> </div> <div class='ipsDataItem_main'> {length="$package->length"} × {length="$package->width"} × {length="$package->height"} </div> </li> <li class='ipsDataItem'> <div class='ipsDataItem_generic ipsDataItem_size3'> <strong>{lang="weight"}</strong> </div> <div class='ipsDataItem_main'> {weight="$package->weight"} </div> </li> </ul> </div> {{endif}} {{if $package->reviewable}} <div id="ipsTabs_elProductTabs_elReviews_panel" class="ipsTabs_panel ipsAreaBackground_reset ipsPad" aria-hidden="false"> {template="reviews" group="store" app="nexus" params="$item"} </div> {{endif}} </div> </section> </div> Modified code <div itemscope itemtype="http://schema.org/Product"> <meta itemprop="sku" content="{$package->id}"> <div class='cNexusProduct_header ipsColumns ipsColumns_collapsePhone' data-controller='nexus.front.store.packagePage' data-itemTitle="{$package->_title}"> <div class='ipsColumn ipsColumn_veryWide ipsBox'> <div class='ipsPad ipsType_center ipsContained'> {{if $images = $item->images() and count( $images )}} {{$donePrimary = false;}} {{foreach $images as $image}} {{if !$donePrimary}} <a href='{$image}' class='cNexusProduct_primaryImage ipsContained' data-ipsLightbox data-ipsLightbox-group='product' data-ipsProductZoom><img src='{$image}' class="ipsImage ipsImage_thumb" itemprop="image"></a> {{$donePrimary = true;}} {{endif}} {{endforeach}} <div class='cNexusProduct_images ipsSpacer_both'> <ul class='ipsList_inline ipsList_noSpacing'> {{foreach $images as $image}} <li> <a href='{$image}' data-action='toggleImage' class='ipsAreaBackground_light'><img src='{$image}' class="ipsImage ipsImage_thumb ipsThumb_tiny"></a> </li> {{endforeach}} </ul> </div> <span class='ipsType_small ipsType_light'><i class='fa fa-search-plus'></i> {lang="product_zoom_desc"}</span> {{else}} <div class='ipsNoThumb ipsThumb_large ipsNoThumb_product'> </div> {{endif}} </div> <section class='ipsBox ipsSpacer_top'> <div class="ipsTabs ipsClearfix" id="elProductTabs" data-ipsTabBar data-ipsTabBar-contentArea="#elProductTabs_content"> <a href="#elProductTabs" data-action="expandTabs"><i class="fa fa-caret-down"></i></a> <ul role="tablist"> <li> <a href="#" id="elProductInfo" class="ipsTabs_item ipsType_center ipsTabs_activeItem" role="tab" aria-selected="true">{lang="product_information"}</a> </li> {{if $package->physical}} <li> <a href='#' id='elShipping' class='ipsTabs_item ipsType_center' role="tab" aria-selected="false">{lang="shipping_information"}</a> </li> {{endif}} {{if $package->reviewable and ( $item->canReview() or count( $item->reviews() ) )}} <li> <a href="#" id="elReviews" class="ipsTabs_item ipsType_center" role="tab" aria-selected="false">{lang="product_reviews_pl"}</a> </li> {{endif}} </ul> </div> <div id="elProductTabs_content" class="ipsTabs_panels"> <div id="ipsTabs_elProductTabs_elProductInfo_panel" class="ipsTabs_panel ipsAreaBackground_reset ipsPad" aria-hidden="false"> <h2 class='ipsType_sectionHead ipsSpacer_top'>{lang="about_product" sprintf="$item->mapped('title')"}</h2> <div class='ipsType_richText ipsType_normal ipsType_break ipsContained ipsSpacer_top' itemprop="description"> {$package->description} </div> </div> {{if $package->physical}} <div id='ipsTabs_elProductTabs_elShipping_panel' class='ipsTabs_panel ipsAreaBackground_reset ipsPad' aria-hidden='false'> {{if count( $shippingMethods )}} <h2 class='ipsType_sectionHead ipsSpacer_top'>{lang="product_shipping_options"}</h2> <p class='ipsType_reset ipsType_medium ipsType_light'>{lang="product_shipping_blurb"}</p> {{if $locationType != 'none'}} <p class='ipsType_reset ipsType_medium ipsType_light'> {{if $locationType == 'address'}} {lang="product_shipping_blurb_address"} {{else}} {lang="product_shipping_blurb_geo"} {{endif}} </p> {{endif}} {{if $itemDataForShipping}} <ul class='ipsDataList ipsDataList_reducedSpacing ipsSpacer_top'> {{foreach $shippingMethods as $rate}} <li class='ipsDataItem'> <div class='ipsDataItem_main'> <strong>{{if $rate->getPrice( array( $itemDataForShipping ), $itemDataForShipping->price->currency )->amount->isZero()}}<span class='ipsType_success'>{lang="free_shipping"}</span>{{else}}{$rate->getPrice( array( $itemDataForShipping ), $itemDataForShipping->price->currency )}{{endif}}</strong> - {$rate->getName()}{{if $estimatedDeliveryTime = $rate->getEstimatedDelivery( array( $itemDataForShipping ) )}} <span class='ipsType_light'>({$estimatedDeliveryTime})</span>{{endif}} </div> </li> {{endforeach}} </ul> {{endif}} <br> {{endif}} <h2 class='ipsType_sectionHead'>{lang="shipping_sizing"}</h2> <ul class='ipsDataList ipsDataList_reducedSpacing ipsSpacer_top'> <li class='ipsDataItem'> <div class='ipsDataItem_generic ipsDataItem_size3'> <strong>{lang="size"}</strong> </div> <div class='ipsDataItem_main'> {length="$package->length"} × {length="$package->width"} × {length="$package->height"} </div> </li> <li class='ipsDataItem'> <div class='ipsDataItem_generic ipsDataItem_size3'> <strong>{lang="weight"}</strong> </div> <div class='ipsDataItem_main'> {weight="$package->weight"} </div> </li> </ul> </div> {{endif}} {{if $package->reviewable}} <div id="ipsTabs_elProductTabs_elReviews_panel" class="ipsTabs_panel ipsAreaBackground_reset ipsPad" aria-hidden="false"> {template="reviews" group="store" app="nexus" params="$item"} </div> {{endif}} </div> </section> </div> <div class='ipsColumn ipsColumn_fluid '> <div class='ipsBox ipsPad'> <h1 class='ipsType_pageTitle ipsType_largeTitle' itemprop="name">{$item->mapped('title')}</h1> {{if $package->reviewable}} <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> {template="rating" group="global" app="core" params="'large', $item->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $item->memberReviewRating()"} <span class='ipsType_medium'>({lang="num_reviews" pluralize="$item->reviews"})</span> <meta itemprop="ratingValue" content="{$item->averageReviewRating()}"> <meta itemprop="reviewCount" content="{$item->reviews}"> </div> {{endif}} <span data-role="price">{$package->priceToDisplay( NULL, FALSE )|raw}</span> {{if $renewalTerm}} <span data-role="renewalTerm" class="ipsType_light">{{if $renewalTerm !== TRUE}}{lang="and_renewal" sprintf="$renewalTerm->toDisplay()"}{{endif}}</span> {{endif}} {{if \IPS\Member::loggedIn()->language()->checkKeyExists('nexus_tax_explain_val')}}<span class='cNexusPrice_tax ipsType_light'>{lang="nexus_tax_explain_val"}</span>{{endif}} {{if settings.nexus_show_stock and $package->stock != -1}} <br><span data-role="stock">{{if $package->stock == -2}}{{else}}{lang="x_in_stock" pluralize="$package->stock - $inCart"}<link itemprop="availability" content='in_stock' href="http://schema.org/InStock">{{endif}}</span> {{endif}} <div class='ipsType_richText ipsType_medium ipsType_break ipsContained ipsSpacer_top' data-ipsTruncate data-ipsTruncate-size='2 lines' data-ipsTruncate-type='remove'> {$item->truncated()|raw} </div> <hr class='ipsHr'> <div class='ipsAreaBackground ipsPad ipsSpacer_bottom'> {$purchaseForm|raw} </div> {{if count( $item->shareLinks() )}} {template="sharelinks" app="core" group="global" params="$item"} {{endif}} </div> </div> </div> </div>
Recommended Posts
Archived
This topic is now archived and is closed to further replies.