What I said was "It has nothing to do with the page the product is on
first, unless the product template is looking for data passed from the
page template in a var tag." So obviously there are exceptions that
don't need proved.
The alignment is one thing that is passed between certain page
template and looked for in certain product templates. Another example
is the DefaultCustomProductTemplate. If the product is on a page other
than one assigned the Rounded or Sidebar templates, this particular
product template will produce a plain-looking more info page. If the
Page is using the Rounded or Sidebar templates, then it will provide
certain values to the product templates, via VAR tags, so that it
knows to use a Sidebar or Rounded-looking layout for the More Info
Pages of the products. Anyone can do the same thing with VAR tags in
their own custom templates.
Vince's problem doesn't have anything to do with variables that are
passed between templates, rather that the template he expected to be
used is not the one being used at all. This is because the more info
page for the product is being generated when the product is a
subproduct of another product, therefore the parent product's template
gets used for the subproduct's More Info Page.
-Loren
Keith Petty wrote:
I'll prove to you that the page which links to a more info page does
have an effect on the more info page.
*****
Note:
First be sure your browser is not caching the pages so you get a
complete reload of the pages each time you go to them.
*****
Make a TestProduct using ShopSite's Default Product Templet with
appropriate info including an image and more information text. Set it
to show a more information link.
Make 2 test pages using ShopSite's Default Page Templet...
TestPage1 & TestPage2
Set TestPage1 to have the "Item Alignment:" set to "Left Aligned".
Add the TestProduct to TestPage1 and then Publish.
You will notice that when you go to the more information page of the
TestProduct the text is "Left Aligned" as it should be.
Leaving the TestPage1 as it is and making no changes to it or the
TestProduct...
Set TestPage2 to have the "Item Alignment:" set to "Right Aligned".
Add the TestProduct to TestPage2 and then Publish.
Now notice that when you go to the more information page (see Note
above) of the TestProduct the text is "Right Aligned" because the
publishing of TestPage2 passed on it's setting into the more
information page overriding what TestPage1 did.
Now that both pages have the product... go back to TestPage1 and set
the "Item Alignment:" to "Centered".
Publish... and the TestProduct's more information page now has (see
Note above) "Centered Text".
Again... non product pages affect how the more information page is
built!
Now for the $64.00 trick question... when you do a complete store
regeneration...
Which page will control the look of the more information page?
The answer has to do with which of the two pages is the last to publish.
Believe in the Force Luke
Try it and you will believe
Loren wrote:
It has nothing to do with the page the product is on first, unless
the product template is looking for data passed from the page
template in a var tag.
The regenration only creates each page and each more info page once,
and keeps track of the ones it has already created.
The regeneration creates each page in the order it is encountered in
the pages database, and creates the more info page for each product
as that product is encountered while generating a page.
When a product is first encountered as a subproduct of another
product, the subproduct's more info page will be created using the
template of that parent product, because that is the product
template open at this time. The more info page for the subproduct is
generated at the time because if the more info page for the
subproduct were NOT generated at this time, then it would be
possible that the more info page would never get generated for this
product if it never appeared as its own product later on a different
page.
So, if you are using a combination of Subproducts AND custom product
templates AND More Info Pages AND multiple custom product templates
with different More Info Page definitions, then you may want to use
the same More Info Definition in each custom product template (an
easier way to do this may be with an INCLUDE in each product
template's define more info section) with IF statements to check the
product's template setting and generate the more info page accordingly.
-Loren
Keith Petty wrote:
Vince,
I don't know if I would call it circular logic but I do know what
you are talking about.
For some reason... (logic aside) ShopSite seems to allow the
MORE_INFO_PAGE's contents - look - feel etc.
to be affected by the first (or it might be the last) page that it
encounters during a publish or regeneration
which contains a link to the "MORE_INFO_PAGE" for a given product.
This seems to happen even when using the ShopSite's built in templets.
From a logical point of view... I think that the design and layout
of a MORE_INFO_PAGE
should have nothing to do with the page linking to it.
I feel your pain.
Keith
Vince Salese wrote:
I have a custom product template called AC_Container whose sole
existance is
to "contain" and display related products. It just displays
sub-products in
a table.
Sort of a way to categorize products. See
http://www.ahoycaptain.com/shop/bruce_rollers.html for the
example. What
you're seeing here is the More Information Page of the product
generated
with the AC_Container template.
The products displayed in the table are sub-products to the main
"container"
product. They are seperate products generated using another custom
template - AC_Product. This template is used thoughout the website
succesfully and is our default template for 90% of our products.
Now here's the kicker. When I added More Information Pages to these
sub-products and modified the AC_Container template to display the
sub-product URL (see code below) something very strange occurs.
[-- DEFINE SUBPRODUCT --]
....
....
....
td align="left" width="350"><font size="2"
[-- IF PRODUCT.DisplayName --]
[-- IF PRODUCT.DisplayMoreInformationPage--]
a href="[-- PRODUCT.MoreInfoURL --]">[-- PRODUCT.Name --]</a
[-- ELSE --]
b>[-- PRODUCT.Name --]</b
[-- END_IF --]
[-- END_IF --]
/font></td
...
...
[-- END_DEFINE SUBPRODUCT --]
Look at the table Header row of the container product. It looks
like this:
Product SKU Captain's Price Options Qty
This is generated in the [-- DEFINE MORE_INFO_PAGE --] section of
AC_Container template.
Now click on the product name of one of the products in the table.
This
links to the More Information page of the product generated with the
template AC_Product. Notice that there's nothing there for price
sku or add
to cart etc.
But there is
Product SKU Captain's Price Options Qty
In trying to correct this so that the product displays Price etc.
I found
that nothing was changing no matter what I did to the AC_Product
template.
However, when I changed the title for Qty in the AC_Container to
Qtyy. The
sub-products more information page WAS changed accordingly. Like this
(recreated for this post).
Product SKU Captain's Price Options Qtyy
It appears that the [-- DEFINE MORE_INFO_PAGE --] code of the
AC_Container
gets substitued to format the more information page of the
sub-product even
though the sub-product's template is AC_Product, has different
code and has
already been generated and published.
Bottom line - how/why can a product affect the way a sub-products'
more
information page displays?
I know this is circular logic and is hard to follow, (it makes my
head hurt)
but it is what's happening.