Re: BUG in [showif] using ^ (contains)
This WebDNA talk-list message is from 1997
It keeps the original formatting.
numero = 11707
interpreted = N
texte = For operators like contains and begins with, both sides should always betreated as text. Thanks for pointing this out.John.>I seen to have found a bug in the [showif] context when using ^ (contains)>as the operator ... and when both sides of the operator are numbers. I>don't really want to call it a bug, because maybe it's just something that>failed to get included in the html docs, but it's a problem nevertheless.>>The docs say that when using these operators in a showif context:>>= < >>>... and when both sides of the showif comparison happen to be numeric, the>showif will evaluate both sides as numbers. However, the docs say nothing>about this happening when the operator is ^ (contains) - and it DOES HAPPEN>... which causes an unexpected problem that everyone should be aware of ...>>When using the ^ operator in a showif or hideif context and both sides of>the comparison are number, the showif is effectively ignored - as if you>never put it there in the first place. It makes no difference what the>numbers are - the showif is ignored whether the numbers are the same or>completely different.>>The work-around is to make sure the left side does NOT look like a number>to WebCat2. To make it look like a regular string of text instead of a>number, you can simply add a letter to the left side (not the right side)>of the showif comparison like I've done below.>>In other words, instead of using the first technique which does NOT work:>>[showif [publicationID]^[sku]]>>... use the following example which works just fine:>>[showif z[publicationID]^[sku]]>>See? I placed a letter 'z' immediately in front of the left side of the>equation. I would imagine that the following would also work the same way:>>[showif [publicationID]z^[sku]]>>... because in either case, all you're doing is making sure WebCat knows>that the left side of the equation is NOT a number. Apparently that's all>it takes to fix this problem.>>Since I cannot imagine any situation where my work-around technique will>do the 'wrong' thing, I highly recommend that you do this whenever you>happen to be comparing two values using the ^ (contains) operator.>>Please note, I'm recommending that you do this ONLY when using the ^>operator - not when using any other operators. And don't try using a number>instead of a letter because that won't fix a thing ... :)>>Sincerely, Ken Grome ..... ken@iav.com>http://usarea.net/home.htmlJohn A. Hill, V.P. Marketing *********************************Pacific Coast Software * Home of the Web's best11770 Bernardo Plaza Ct. #462 * Catalog and Merchant softwareSan Diego, CA 92128 * http://www.smithmicro.comPhone: 619-675-1106 Fax: 675-0372 *********************************
Associated Messages, from the most recent to the oldest:
For operators like contains and begins with, both sides should always betreated as text. Thanks for pointing this out.John.>I seen to have found a bug in the
[showif] context when using ^ (contains)>as the operator ... and when both sides of the operator are numbers. I>don't really want to call it a bug, because maybe it's just something that>failed to get included in the html docs, but it's a problem nevertheless.>>The docs say that when using these operators in a showif context:>>= < >>>... and when both sides of the showif comparison happen to be numeric, the>showif will evaluate both sides as numbers. However, the docs say nothing>about this happening when the operator is ^ (contains) - and it DOES HAPPEN>... which causes an unexpected problem that everyone should be aware of ...>>When using the ^ operator in a showif or hideif context and both sides of>the comparison are number, the showif is effectively ignored - as if you>never put it there in the first place. It makes no difference what the>numbers are - the showif is ignored whether the numbers are the same or>completely different.>>The work-around is to make sure the left side does NOT look like a number>to WebCat2. To make it look like a regular string of text instead of a>number, you can simply add a letter to the left side (not the right side)>of the showif comparison like I've done below.>>In other words, instead of using the first technique which does NOT work:>>[showif [publicationID]^[sku]]>>... use the following example which works just fine:>>[showif z[publicationID]^[sku]]>>See? I placed a letter 'z' immediately in front of the left side of the>equation. I would imagine that the following would also work the same way:>>[showif [publicationID]z^[sku]]>>... because in either case, all you're doing is making sure WebCat knows>that the left side of the equation is NOT a number. Apparently that's all>it takes to fix this problem.>>Since I cannot imagine any situation where my work-around technique will>do the 'wrong' thing, I highly recommend that you do this whenever you>happen to be comparing two values using the ^ (contains) operator.>>Please note, I'm recommending that you do this ONLY when using the ^>operator - not when using any other operators. And don't try using a number>instead of a letter because that won't fix a thing ... :)>>Sincerely, Ken Grome ..... ken@iav.com>http://usarea.net/home.htmlJohn A. Hill, V.P. Marketing *********************************Pacific Coast Software * Home of the Web's best11770 Bernardo Plaza Ct. #462 * Catalog and Merchant softwareSan Diego, CA 92128 * http://www.smithmicro.comPhone: 619-675-1106 Fax: 675-0372 *********************************
John Hill
DOWNLOAD WEBDNA NOW!
Top Articles:
Talk List
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...
Related Readings:
MATH TIME (1997)
Rendering out a page (1997)
For those of you not on the WebCatalog Beta... (1997)
Limiting user access to .tmpl files (1997)
Re:no [search] with NT (1997)
Possible Problem with Safari and Carts (2003)
Limitations on fields? Server is crashing (1997)
Problems appending to database (1997)
Search in 2 or more catalogs (1997)
Reversed words (1997)
Another question about credit cards (1997)
Ampersand Character (&) (1997)
[WebDNA] WebDNA 7 (2011)
Problem (1997)
WebCatalog/Mac 2.1b2 New Features (1997)
[WaitForFile] wait for open file, not closed file (2001)
WC2f3 (1997)
member logins database (2003)
Email down on list? (2002)
Needed, Freelance Web Developer (2007)