Re: Edit issue on Product Page
Quote:
Originally Posted by
dbltoe
your dev site is the 403
It should be working now and it had to do with someone that worked on the site that changed the htaccess file causing the problem with viewing the site.
As I have said before that people that have worked on the site have done a few strange things and left files behind which I am slowly cleaning up when I find the issues.
Re: Edit issue on Product Page
Code:
<!--bof Product details list -->
<ul id="productInfo-productDetailsList" class="productDetailsList list-group mb-3">
<li class="list-group-item">Availability: <strong>1 Units in Stock</strong></li>
<li class="list-group-item">Manufactured by: <strong>GB Products</strong></li>
</ul>
<!--eof Product details list -->
Give us the code from includes/templates/bootstrap/templates/tpl_product_info_display.php
Re: Edit issue on Product Page
Quote:
Originally Posted by
mprough
Code:
<!--bof Product details list -->
<ul id="productInfo-productDetailsList" class="productDetailsList list-group mb-3">
This is what is in the file from line 20
<li class="list-group-item">Availability: <strong>1 Units in Stock</strong></li>
<li class="list-group-item">Manufactured by: <strong>GB Products</strong></li>
</ul>
<!--eof Product details list -->
Give us the code from includes/templates/bootstrap/templates/tpl_product_info_display.php
$html_id_prefix = $html_id_prefix ?? 'productInfo';
?>
<div id="<?= $html_id_prefix ?>" class="centerColumn">
<?= zen_draw_form('cart_quantity', zen_href_link(zen_get_info_page($_GET['products_id']), zen_get_all_get_params(['action']) . 'action=add_product', $request_type), 'post', 'enctype="multipart/form-data"') . "\n" ?>
<?php
if ($messageStack->size('product_info') > 0) {
echo $messageStack->output('product_info');
}
if ($module_show_categories !== '0') {
?>
<!--bof Category Icon -->
<div id="<?= $html_id_prefix ?>-productCategoryIcon" class="productCategoryIcon">
<?php require $template->get_template_dir('/tpl_modules_category_icon_display.php', DIR_WS_TEMPLATE, $current_page_base, 'templates') . '/tpl_modules_category_icon_display.php'; ?>
</div>
<!--eof Category Icon -->
<?php
}
if (PRODUCT_INFO_PREVIOUS_NEXT === '1' || PRODUCT_INFO_PREVIOUS_NEXT === '3') {
?>
<!--bof Prev/Next top position -->
<div id="<?= $html_id_prefix ?>-productPrevNextTop" class="productPrevNextTop">
<?php require $template->get_template_dir('/tpl_products_next_previous.php', DIR_WS_TEMPLATE, $current_page_base, 'templates') . '/tpl_products_next_previous.php'; ?>
</div>
<!--eof Prev/Next top position-->
<?php
}
?>
<!--bof Product Name-->
<h1 id="<?= $html_id_prefix ?>-productName" class="productName"><?= $products_name ?></h1>
<!--eof Product Name-->
<div id="<?= $html_id_prefix ?>-displayRow" class="row">
<div id="<?= $html_id_prefix ?>-displayColLeft" class="col-sm mb-3">
<!--bof Main Product Image -->
<?php
if (!empty($products_image)) {
?>
<div id="<?= $html_id_prefix ?>-productMainImage" class="productMainImage pt-3 text-center">
<?php require $template->get_template_dir('/tpl_modules_main_product_image.php', DIR_WS_TEMPLATE, $current_page_base, 'templates') . '/tpl_modules_main_product_image.php'; ?>
</div>
<?php
}
?>
<!--eof Main Product Image-->
<!--bof Additional Product Images -->
<div id="<?= $html_id_prefix ?>-productAdditionalImages" class="productAdditionalImages text-center">
<?php
/**
* display the products additional images in a model carousel
*/
if (PRODUCT_INFO_SHOW_BOOTSTRAP_MODAL_POPUPS === 'Yes' && PRODUCT_INFO_SHOW_BOOTSTRAP_MODAL_SLIDE === '1') {
require $template->get_template_dir('tpl_bootstrap_images.php', DIR_WS_TEMPLATE, $current_page_base, 'modalboxes') . '/tpl_bootstrap_images.php';
if ($num_images > 0) {
$buttonText = $num_images . TEXT_MULTIPLE_IMAGES;
?>
<div class="p-1"></div>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bootstrap-slide-modal-lg">
<?= $buttonText ?>
</button>
<div class="p-3"></div>
<?php
}
/**
* display the products additional images in individual modal
*/
} else {
?>
<div class="p-3"></div>
<?php require $template->get_template_dir('/tpl_modules_additional_images.php', DIR_WS_TEMPLATE, $current_page_base, 'templates') . '/tpl_modules_additional_images.php';
}
?>
</div>
<!--eof Additional Product Images -->
<?php
//-bof-20241125-lat9-Highlighting PDF attachment addition
if ($flag_show_product_info_pdf_attachment === '1' && $products_pdf_attachment !== '') {
?>
<div class="centerColumn mb-4" id="customTab1Default">
<div id="productPdfAttachment">
<i class="fa-solid fa-file-pdf fa-xl"></i>
<a href="images/files/<?= $products_pdf_attachment ?>" target="_blank">Download PDF</a>
</div>
</div>
<?php
}
//-eof-20241125-lat9
?>
<!--bof Reviews button and count-->
<?php
if ($flag_show_product_info_reviews === '1') {
// if more than 0 reviews, then show reviews button; otherwise, show the "write review" button
if ($reviews->fields['count'] > 0 ) {
?>
<div id="<?= $html_id_prefix ?>-productReviewLink" class="productReviewLink mb-3">
<?= zca_button_link(zen_href_link(FILENAME_PRODUCT_REVIEWS, zen_get_all_get_params()), BUTTON_REVIEWS_ALT, 'button_reviews') ?>
</div>
<p id="<?= $html_id_prefix ?>-productReviewCount" class="productReviewCount">
<?= ($flag_show_product_info_reviews_count === '1' ? TEXT_CURRENT_REVIEWS . ' ' . $reviews->fields['count'] : '') ?>
</p>
<?php
} else {
?>
<div id="<?= $html_id_prefix ?>-productReviewLink" class="productReviewLink mb-3">
<?= zca_button_link(zen_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, zen_get_all_get_params()), BUTTON_WRITE_REVIEW_ALT, 'button_write_review') ?>
</div>
<?php
}
}
?>
<!--eof Reviews button and count -->
</div>
<div id="<?= $html_id_prefix ?>-displayColRight" class="col-sm mb-3">
<!--bof Product details list -->
<?php
// -----
// Starting with v3.7.0, the product-info display is common to all product
// types. Some types, like product_music_info, might supply their own version
// of the product-details list.
//
// If such a file, based on the current type, is available, use that override
// instead of the base processing.
//
$product_details_filename = '/tpl_' . $current_page_base . '_display_details.php';
$product_details_filepath = $template->get_template_dir($product_details_filename, DIR_WS_TEMPLATE, $current_page_base, 'templates') . $product_details_filename;
if (file_exists($product_details_filepath)) {
require $product_details_filepath;
} else {
require $template->get_template_dir('/tpl_product_info_display_details.php', DIR_WS_TEMPLATE, $current_page_base, 'templates') . '/tpl_product_info_display_details.php';
}
?>
<!--eof Product details list -->
<?php
if ($flag_show_ask_a_question === true) {
?>
<!-- bof Ask a Question -->
<div class="p-1"></div>
<span id="productQuestions">
<?= zca_button_link(zen_href_link(FILENAME_ASK_A_QUESTION, 'pid=' . $_GET['products_id'], 'SSL'), BUTTON_ASK_A_QUESTION_ALT, 'button_ask_a_question') ?>
</span>
<div class="p-2"></div>
<!-- eof Ask a Question -->
<?php
}
// -----
// Starting with v3.7.0, a product type's base template can identify additional
// formatting for the specific product type, e.g. product-music.
//
if (isset($product_info_display_extra)) {
require $template->get_template_dir($product_info_display_extra, DIR_WS_TEMPLATE, $current_page_base, 'templates') . $product_info_display_extra;
}
?>
<!--bof Attributes Module -->
<?php
$one_time = '';
$display_price_bottom = true;
if ($pr_attr->fields['total'] > 0) {
if ($show_onetime_charges_description === true) {
$one_time = '<small>' . TEXT_ONETIME_CHARGE_SYMBOL . TEXT_ONETIME_CHARGE_DESCRIPTION . '</small><br>';
}
$display_price_top = (BS4_PRICING_LOCATION === 'Both' || BS4_PRICING_LOCATION === 'Above Only');
$display_price_bottom = (BS4_PRICING_LOCATION === 'Both' || BS4_PRICING_LOCATION === 'Below Only');
?>
<!--bof Product Price block above Attributes -->
<?php
if ($display_price_top === true) {
?>
<!--bof products price top card-->
<div id="productsPriceTop-card" class="card mb-3">
<div id="productsPriceTop-card-body" class="card-body p-3">
<h2 id="productsPriceTop-productPriceTopPrice" class="productPriceTopPrice">
<?php
// base price
echo
$one_time .
((zen_has_product_attributes_values((int)$_GET['products_id']) && $flag_show_product_info_starting_at == 1) ? TEXT_BASE_PRICE : '') .
zen_get_products_display_price((int)$_GET['products_id']);
?>
</h2>
</div>
</div>
<!--eof products price top card-->
<?php
}
?>
<!--eof Product Price block above Attributes -->
<div id="productAttributes">
<?php require $template->get_template_dir('/tpl_modules_attributes.php',DIR_WS_TEMPLATE, $current_page_base,'templates') . '/tpl_modules_attributes.php'; ?>
</div>
<?php
}
?>
<!--eof Attributes Module -->
<?php
if ($flag_show_product_info_free_shipping === '1' && zen_get_product_is_always_free_shipping($products_id_current)) {
?>
<!--bof free ship icon -->
<div id="<?= $html_id_prefix ?>-productFreeShippingIcon" class="productFreeShippingIcon text-center m-3">
<?= TEXT_PRODUCT_FREE_SHIPPING_ICON ?>
</div>
<!--eof free ship icon -->
<?php
}
if ($products_discount_type !== '0') {
?>
<!--bof Quantity Discounts table -->
<div id="<?= $html_id_prefix ?>-productQuantityDiscounts" class="productQuantityDiscounts">
<?php require $template->get_template_dir('/tpl_modules_products_quantity_discounts.php',DIR_WS_TEMPLATE, $current_page_base,'templates') . '/tpl_modules_products_quantity_discounts.php'; ?>
</div>
<!--eof Quantity Discounts table -->
<?php
}
if ($display_price_bottom === true) {
?>
<!--bof products price bottom card-->
<div id="productsPriceBottom-card" class="card mb-3">
<div id="productsPriceBottom-card-body" class="card-body p-3">
<h2 id="productsPriceBottom-productPriceBottomPrice" class="productPriceBottomPrice">
<?= $one_time .
(($flag_show_product_info_starting_at === '1' && zen_has_product_attributes_values((int)$_GET['products_id'])) ? TEXT_BASE_PRICE : '') .
zen_get_products_display_price((int)$_GET['products_id']) ?>
</h2>
</div>
</div>
<!--eof products price bottom card-->
<?php
}
?>
<!--bof Add to Cart Box -->
<!-- BEGIN NPF MODIFICATIONS -->
<?php if ((!isset($flag_show_product_info_out_of_stock) || ($flag_show_product_info_out_of_stock == 1 && $products_out_of_stock == 0))) { ?>
<!-- END NPF MODIFICATIONS -->
<?php
if (CUSTOMERS_APPROVAL === '3' && TEXT_LOGIN_FOR_PRICE_BUTTON_REPLACE_SHOWROOM === '') {
// do nothing
} else {
$display_qty = ($flag_show_product_info_in_cart_qty === '1' && $_SESSION['cart']->in_cart($_GET['products_id'])) ? '<p>' . PRODUCTS_ORDER_QTY_TEXT_IN_CART . $_SESSION['cart']->get_quantity($_GET['products_id']) . '</p>' : '';
if ($products_qty_box_status === '0' || $products_quantity_order_max === '1') {
// hide the quantity box and default to 1
$the_button =
zen_draw_hidden_field('cart_quantity', '1') .
zen_draw_hidden_field('products_id', (int)$_GET['products_id']) .
zen_image_submit(BUTTON_IMAGE_IN_CART, BUTTON_IN_CART_ALT);
} else {
// show the quantity box
$the_button =
'<div class="input-group mb-3">' .
'<input class="form-control" type="text" name="cart_quantity" value="' . $products_get_buy_now_qty . '" aria-label="' . ARIA_QTY_ADD_TO_CART . '">' .
'<div class="input-group-append">' .
zen_draw_hidden_field('products_id', (int)$_GET['products_id']) .
zen_image_submit(BUTTON_IMAGE_IN_CART, BUTTON_IN_CART_ALT) .
'</div>' .
'</div>';
if (zen_get_products_quantity_min_units_display((int)$_GET['products_id']) > 0) {
$the_button .=
'<div id="min-max-units" class="d-flex justify-content-around">' .
zen_get_products_quantity_min_units_display((int)$_GET['products_id']) .
'</div>';
}
}
$display_button = zen_get_buy_now_button($_GET['products_id'], $the_button);
if ($display_qty !== '' || !empty($display_button)) {
?>
<!--bof add to cart card-->
<div id="addToCart-card" class="card mb-3">
<div id="addToCart-card-header" class="card-header"><?= PRODUCTS_ORDER_QTY_TEXT ?></div>
<div id="cartAdd" class="card-body text-center">
<?php
//-bof-20241128-lat9-GitHub#25: Restore discontinued processing, dropped in template update
if (empty($discontinued)) {
?>
<?= $display_qty . $display_button ?>
<?php
} else {
?>
<div class="discontinued">
<p class="pt-button">NO LONGER AVAILABLE</p>
</div>
<?php
}
//-eof-20241128-lat9
?>
</div>
</div>
<?php
} // display qty and button
} // CUSTOMERS_APPROVAL == 3
?>
<!-- BEGIN NPF MODIFICATIONS -->
<?php } else { ?>
<p class="outofStock"><?php echo TEXT_PRODUCTS_OUT_OF_STOCK; ?></p>
<?php } // end out of stock ?>
<!-- END NPF MODIFICATIONS -->
<!--eof Add to Cart Box-->
</div>
</div>
<!--eof add to cart card-->
<!--bof Product description -->
<?php
if ($products_description != '') {
?>
<div id="<?= $html_id_prefix ?>-productDescription" class="productDescription mb-3" inert="true">
<?= stripslashes($products_description) ?>
</div>
<?php
}
?>
<!--eof Product description -->
<div id="<?= $html_id_prefix ?>-moduledDisplayRow" class="row">
<?php
if (PRODUCT_INFO_SHOW_NOTIFICATIONS_BOX === '1') {
?>
<!--bof Products Notification Module-->
<div id="<?= $html_id_prefix ?>-moduleDisplayColLeft" class="col-sm">
<?php require DIR_WS_MODULES . zen_get_module_directory('centerboxes/product_notifications.php'); ?>
</div>
<!--eof Products Notification Module-->
<?php
}
if (PRODUCT_INFO_SHOW_MANUFACTURER_BOX === '1') {
?>
<!--bof Products Manufacturer Info Module-->
<div id="<?= $html_id_prefix ?>-moduleDisplayColRight" class="col-sm">
<?php require DIR_WS_MODULES . zen_get_module_directory('centerboxes/manufacturer_info.php'); ?>
</div>
<!--eof Products Manufacturer Info Module-->
<?php
}
?>
</div>
<!--bof Product date added/available-->
<?php
if ($products_date_available > date('Y-m-d H:i:s')) {
if ($flag_show_product_info_date_available === '1') {
?>
<p id="<?= $html_id_prefix ?>-productDateAvailable" class="productDateAvailable text-center">
<?= sprintf(TEXT_DATE_AVAILABLE, zen_date_long($products_date_available)) ?>
</p>
<?php
}
} elseif ($flag_show_product_info_date_added === '1') {
?>
<p id="<?= $html_id_prefix ?>-productDateAdded" class="productDateAdded text-center">
<?= sprintf(TEXT_DATE_ADDED, zen_date_long($products_date_added)) ?>
</p>
<?php
}
?>
<!--eof Product date added/available -->
<!--bof Product URL -->
<?php
if ($flag_show_product_info_url === '1' && !empty($products_url)) {
?>
<p id="<?= $html_id_prefix ?>-productUrl" class="productUrl text-center">
<?= sprintf(TEXT_MORE_INFORMATION, zen_href_link(FILENAME_REDIRECT, 'action=product&products_id=' . zen_output_string_protected($_GET['products_id']), 'NONSSL', true, false)) ?>
</p>
<?php
}
?>
<!--eof Product URL -->
<!--bof also purchased products module-->
<?php require $template->get_template_dir('tpl_modules_also_purchased_products.php', DIR_WS_TEMPLATE, $current_page_base, 'centerboxes'). '/tpl_modules_also_purchased_products.php' ?>
<!--eof also purchased products module-->
<!--bof Prev/Next bottom position -->
<?php
if (PRODUCT_INFO_PREVIOUS_NEXT === '2' || PRODUCT_INFO_PREVIOUS_NEXT === '3') {
?>
<div id="<?= $html_id_prefix ?>-productPrevNextBottom" class="productPrevNextBottom">
<?php require $template->get_template_dir('/tpl_products_next_previous.php', DIR_WS_TEMPLATE, $current_page_base, 'templates') . '/tpl_products_next_previous.php'; ?>
</div>
<?php
}
?>
<!--eof Prev/Next bottom position -->
<!--bof Form close-->
<?= '</form>' ?>
<!--bof Form close-->
</div>
Re: Edit issue on Product Page
That looks okay, now try
includes/templates/bootstrap/templates/tpl_product_info_display_details.php
Re: Edit issue on Product Page
This is the complete content
<?php
/**
* Page Template
*
* BOOTSTRAP v3.7.0
*
* Provides the default display for a product's info-page details list. A product-type,
* e.g. product_music_info, can provide customized display of these details
* by including a module named `tpl_{product_type}_display_details.php. For
* product_music_info, this file is named tpl_product_music_info_display_details.php.
*/
$display_product_model = ($flag_show_product_info_model === '1' && $products_model !== '');
$display_product_weight = ($flag_show_product_info_weight === '1' && $products_weight != 0);
$display_product_quantity = ($flag_show_product_info_quantity === '1');
$display_product_manufacturer = ($flag_show_product_info_manufacturer === '1' && !empty($manufacturers_name));
if ($display_product_model || $display_product_weight || $display_product_quantity || $display_product_manufacturer) {
?>
<ul id="<?= $html_id_prefix ?>-productDetailsList" class="productDetailsList list-group mb-3">
<?= (($display_product_model === true) ? '<li class="list-group-item">' . TEXT_PRODUCT_MODEL . $products_model . '</li>' : '') . "\n" ?>
<?= (($display_product_weight === true) ? '<li class="list-group-item">' . TEXT_PRODUCT_WEIGHT . $products_weight . TEXT_PRODUCT_WEIGHT_UNIT . '</li>' : '') . "\n" ?>
<?php
//-bof-20241125-lat9-NPF additions
$display_product_stock = (!isset($flag_show_product_info_out_of_stock) || (!empty($flag_show_product_info_out_of_stock) && empty($products_out_of_stock)));
?>
<?= (($display_product_stock === true) ? '<li class="list-group-item">' . PRODUCT_AVAILABILITY . '<strong>' . $products_quantity . TEXT_PRODUCT_QUANTITY . '</strong></li>' : '') . "\n" ?>
<?php
if (count($numinix_fields_display ?? []) !== 0) {
foreach ($numinix_fields_display as $field => $value) {
$field_name = ucwords(str_replace('_', ' ', $field));
if ($field === 'availability_id' && defined('PRODUCT_AVAILABILITY_' . (int)$value)) {
echo '<li class="list-group-item">' . PRODUCT_AVAILABILITY . '<strong>' . constant('PRODUCT_AVAILABILITY_' . (int)$value) . '</strong></li>';
} else {
?>
<li class="list-group-item"><?= $field_name . ':' ?><strong><?= $value ?></strong></li>
<?php
}
}
}
?>
<?= (($display_product_manufacturer === true) ? '<li class="list-group-item">' . TEXT_PRODUCT_MANUFACTURER . '<strong>' . $manufacturers_name . '</strong></li>' : '') . "\n" ?>
<?php
if (!empty($flag_show_product_info_condition) && !empty($products_condition)) {
echo '<li class="list-group-item" >' . TEXT_PRODUCTS_CONDITION . '<strong>' . $products_condition . '</strong></li>' . "\n";
}
if (!empty($flag_show_products_warranty) && !empty($products_warranty)) {
echo '<li class="list-group-item" >' . TEXT_PRODUCTS_WARRANTY .'<strong>' . $products_warranty . '</strong></li>' . "\n";
}
if (!empty($flag_show_product_info_upc) && !empty($products_upc)) {
echo '<li class="list-group-item" >' . TEXT_PRODUCTS_UPC . '<strong>' . $products_upc . '</strong></li>' . "\n";
}
if (!empty($flag_show_product_info_isbn) && !empty($products_isbn)) {
echo '<li class="list-group-item" >' . TEXT_PRODUCTS_ISBN . '<strong>' . $products_isbn . '</strong></li>' . "\n";
}
if (!empty($flag_show_product_info_sku) && !empty($products_sku)) {
echo '<li class="list-group-item" >' . TEXT_PRODUCTS_SKU . '<strong>' . $products_sku . '</strong></li>' . "\n";
}
?>
</ul>
<?php
}
if (!empty($products_description2)) {
?>
<div id="productDescription2" class="productGeneral biggerText"><?= stripslashes($products_description2) ?></div>
<?php
}
if (!empty($care_instructions)) {
?>
<div id="careInstructions" class="productGeneral biggerText"><?= stripslashes($care_instructions) ?></div>
<?php
}
//-eof-20241125-
Re: Edit issue on Product Page
Quote:
Originally Posted by
Bruce1952
It should be working now and it had to do with someone that worked on the site that changed the htaccess file causing the problem with viewing the site.
As I have said before that people that have worked on the site have done a few strange things and left files behind which I am slowly cleaning up when I find the issues.
Well, now that you have made the dev site visible to the public, Google will be happy to crawl it and totally screw up your SEO as it starts serving results pointing to the dev site instead of the live site...
I have been cleaning up a similar mess created by another developer that didn't know to hide the dev site for 6 months, as Google is slow to drop stuff no matter how hard you try to tell them to.
So what seems strange to you has a reason when implemented by someone who has been doing this for a long time.
Re: Edit issue on Product Page
I am curious as to how your live site is ahead of the dev site? how does such a thing happen? All changes should happen on the dev version first to test and then be replicated on the live site...
At this point I would wipe the dev site, and copy the live site into the dev folder along with the db to sync them up as a base starting point and don't let them drift apart in the future instead of trying to troubleshoot the dev site because you are going to end up adding more differences.
Re: Edit issue on Product Page
What version of extra product fields are you running?
https://www.zen-cart.com/downloads.php?do=file&id=926
My guess is that it's not fully installed. No defines to call the data.
Also, in includes/templates/bootstrap/common/html_header.php you can change the robots tag to prevent unwanted indexing
Code:
<meta name="robots" content="noindex, nofollow" />
Re: Edit issue on Product Page
Quote:
Originally Posted by
barco57
Well, now that you have made the dev site visible to the public, Google will be happy to crawl it and totally screw up your SEO as it starts serving results pointing to the dev site instead of the live site...
I have been cleaning up a similar mess created by another developer that didn't know to hide the dev site for 6 months, as Google is slow to drop stuff no matter how hard you try to tell them to.
So what seems strange to you has a reason when implemented by someone who has been doing this for a long time.
Ok then how do I stop from being seen. What was in the htacess file was stopping everything and no one could see anything.
Re: Edit issue on Product Page
Quote:
Originally Posted by
barco57
I am curious as to how your live site is ahead of the dev site? how does such a thing happen? All changes should happen on the dev version first to test and then be replicated on the live site...
At this point I would wipe the dev site, and copy the live site into the dev folder along with the db to sync them up as a base starting point and don't let them drift apart in the future instead of trying to troubleshoot the dev site because you are going to end up adding more differences.
That is what I requested the people that did the work before but appears to have not happend so I wasted more than enough money because they would not follow directions.
So what you are saying is to copy all files over the the dev directory and also the database is that correct and then start from scratch updating the dev site prior to shifting over to the live site would that be correct?
I will do that tomorrow or the next day but keep a copy on the server without the htacess folder and would that stop google or not?
Just need to know what I have to do in regards to being able to view the site without google tracking it.
I would think that this thread should be closed until I move the files and see what errors show up.
I am not getting any at this stage on the live site.