Announcement

Collapse
No announcement yet.

Why this conditional in TEMPLATEFEED always render "in stock"?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bruce - PhosphorMedia
    replied
    Originally posted by William Davis View Post


    The problem is that though the frontend has come a long ways, it sadly still has a lot to be desired compared to the ease of implementation and ROI afforded by MM4.24c OpenUI, Viking Coders Templates, Emporium Plus, etc. modules a decade ago. All of these solutions has been gradually disappeared and now requires extensive and costly custom coding to achieve the same things, technology over time should have simplify these this, yet in in this area it is significantly unquestionably worse.
    This could be the case of "the devil you know" but, IMO, Miva9 is multiple times easier to build out and maintain that OpenUI versions of miva. Seriously, like ten times easier.

    One reason for this 'perspective' could be that what one is doing in Miva9/Miva10 just wasn't possible in OpenUI unless you had a custom module or cobbled together a 'feature' using half dozen off the shelf modules, all the while 'giving' up on desired features.

    So, it may appear like its more difficult, but I don't know of a Miva developer that would agree with you :)

    Leave a comment:


  • Rick Wilson
    replied
    The problem is that though the frontend has come a long ways, it sadly still has a lot to be desired compared to the ease of implementation and ROI afforded by MM4.24c OpenUI, Viking Coders Templates, Emporium Plus, etc. modules a decade ago. All of these solutions has been gradually disappeared and now requires extensive and costly custom coding to achieve the same things, technology over time should have simplify these this, yet in in this area it is significantly unquestionably worse.
    I simply don't think it would be possible to achieve the ease of use (so to speak) of those things, while simultaneously extending the platform the way we have.

    Frankly Shopify cleaned our clock on the entry level market and "ease of use" basis, so we went up market and capitalized on our strengths. Such as, platform flexibility that has SaaS security and features.

    The farther up market we've gone, the less common it is for the store owner to actually be doing these items, which causes less demand for those features, etc... And on top of that, the technologies that power the web are magnitudes more complex today than they were in 2001 when OpenUI came out, that same paradigm would be effectively impossible.

    We do have big plans on the "CMS" front for the version 10 life cycle that will make it much easier for non technical people to build content pages, but we have no intention of trying to out Shopify, Shopify.

    Leave a comment:


  • William Davis
    replied
    Originally posted by Bruce - PhosphorMedia View Post

    Speaking as an 'actual' e-commerce web site developer of a certain age, I've begun a deliberate process of doing (and especially learning -- ok remembering) less and less. Instead, I get someone else to do it.

    When I began this career, we where expected, and could do everything from HTML markup, javascripting, PHP, graphics and image processing, server setup, heck...couple of times helping or building the damn hardware. Nowadays, I do SMT/Mivascript/HTML at most. Everything else is hired out. That leaves a lot of time to actually get stuff done like engaging new business, finding better methodologies for existing business and enjoying life.

    my two bitcoins.

    (which reminds me of something my son said last night. that, when he was 16, he bought a high end monitor...for two bit coins. So, somewhere in his garage he has a 21,000 monitor. not related...just funny.)
    I know what you mean, its getting harder as time goes one to code strict HTML5 CSS3 and Miva script since I no longer do it often enough. But we do delegate, Leslie has worked on our site for years, even you and we even have a MAP account with Miva.

    The problem is that though the frontend has come a long ways, it sadly still has a lot to be desired compared to the ease of implementation and ROI afforded by MM4.24c OpenUI, Viking Coders Templates, Emporium Plus, etc. modules a decade ago. All of these solutions has been gradually disappeared and now requires extensive and costly custom coding to achieve the same things, technology over time should have simplify these this, yet in in this area it is significantly unquestionably worse.

    Don't get me wrong, there is no question most things are far better today by leaps and bounds, but at what price? I'm all for a rock solid, powerful and agile foundation, but it always seems each time progress is made on the backend (admin) its always at the cost of the frontend, making it more difficult and costlier it to catch-up. We can't lose sight that a high performance race car does not rely solely on its engine to win races. It’s an intricate balance of high performance components engineered to work together, the car as a whole is only as good as its weakest component. Smaller shop like ours in possession of the best high performance engine on the market can't win races races if a suitable chassis, suspension, etc... is beyond their reach.

    That is how Miva came to be, by filling that balance in the marketplace and grew to into an formidable eCommerce platform fire breathing dragon. Overtaking competitors that fell into complacency and underestimated their opponents prowess and hunger for excellence which inevitably brings market dominance such as it did with IBM/Microsoft, Nokia/Apple, Sears/Amazon, etc.

    Perhaps these are not the best examples, since none of those companies or dragons started off directly competing in the same line of business like Miva. They did not come flapping their wings from over the horizon and circled over their pray, they pivoted direction and morphed into dragons overnight.

    Leave a comment:


  • Bruce - PhosphorMedia
    replied
    Originally posted by William Davis View Post

    Thanks!

    I ask myself the same question, I guess I am a driven old man. I use to be very good at this stuff back in the day (MM4.24c OpenUI), but I have not had time to learn MM5 since we migrated which is far more complicated. I've tried on more than one occasion, but the learning curve is steep, at least for me.
    Speaking as an 'actual' e-commerce web site developer of a certain age, I've begun a deliberate process of doing (and especially learning -- ok remembering) less and less. Instead, I get someone else to do it.

    When I began this career, we where expected, and could do everything from HTML markup, javascripting, PHP, graphics and image processing, server setup, heck...couple of times helping or building the damn hardware. Nowadays, I do SMT/Mivascript/HTML at most. Everything else is hired out. That leaves a lot of time to actually get stuff done like engaging new business, finding better methodologies for existing business and enjoying life.

    my two bitcoins.

    (which reminds me of something my son said last night. that, when he was 16, he bought a high end monitor...for two bit coins. So, somewhere in his garage he has a 21,000 monitor. not related...just funny.)

    Leave a comment:


  • William Davis
    replied
    Originally posted by dreamingdigital View Post
    just put it at the beginning then throw some blank linkes in there. Then run it and see the variables. Then remove that code again and run it again so you don't permanently mess up your feed. Then you'll see a bunch of ugly output that shows what variables exist and see if you can find "record:inv" at all. If it's not there at all you'll have to call an API to get the inventory.

    ...just wondering how you have that code when you don't know this stuff? (not being mean, just wondering)
    Thanks!

    I ask myself the same question, I guess I am a driven old man. I use to be very good at this stuff back in the day (MM4.24c OpenUI), but I have not had time to learn MM5 since we migrated which is far more complicated. I've tried on more than one occasion, but the learning curve is steep, at least for me.

    Leave a comment:


  • dreamingdigital
    replied
    just put it at the beginning then throw some blank linkes in there. Then run it and see the variables. Then remove that code again and run it again so you don't permanently mess up your feed. Then you'll see a bunch of ugly output that shows what variables exist and see if you can find "record:inv" at all. If it's not there at all you'll have to call an API to get the inventory.

    ...just wondering how you have that code when you don't know this stuff? (not being mean, just wondering)

    Leave a comment:


  • William Davis
    replied
    Originally posted by dreamingdigital View Post
    Bill, you would put that in the Iterator template using advanced mode. Then run the feed and see what it outputs. You'll see what variables are available so you don't have to do the guessing you're doing.
    Okay, I'm beggning to get an idea (this is very exciting... old dog learning new tricks). Where would I place the code in this particular case?

    Code:
    &mvt:record:code;|&mvt:record:name;|&mvt:record:descrip;|&mvt:record:url;|https://www.site.com/mm5/&mvt:record:image;||&mvt:record:url;|<mvt:if expr="l.settings:record:inv_level EQ 'low'">in_stock<mvt:elseif expr="l.settings:record:inv_level EQ 'out'">out_of_stock<mvt:else>in_stock</mvt:if>|||<mvt:if expr="l.settings:record:inv_level EQ 'low'">&mvt:record:price; USD<mvt:elseif expr="l.settings:record:inv_level EQ 'out'"> <mvt:else>&mvt:record:price; USD</mvt:if>|<mvt:if expr="l.settings:record:inv_level EQ 'low'">&mvt:record:price; USD<mvt:elseif expr="l.settings:record:inv_level EQ 'out'"> <mvt:else>&mvt:record:price; USD</mvt:if>|||||||||||NO|Used|NO||||Adult|||||||||||||||||| US:::3.99 USD|||||US:FL:7.00:no&mvt:eol:crlf;

    Leave a comment:


  • dreamingdigital
    replied
    Bill, you would put that in the Iterator template using advanced mode. Then run the feed and see what it outputs. You'll see what variables are available so you don't have to do the guessing you're doing.

    Leave a comment:


  • William Davis
    replied
    Originally posted by dreamingdigital View Post
    Dump out the variables and see what's actually there.
    Code:
    <mvt:eval expr="glosub(miva_array_serialize(l.settings:record), ',', '<BR>')" />
    <mvt:eval expr="glosub(miva_array_serialize(l.settings:product), ',', '<BR>')" /> 
    I dont understand what that means and how or where to apply it. Can you please elaborate?

    Leave a comment:


  • dreamingdigital
    replied
    Dump out the variables and see what's actually there.
    Code:
    <mvt:eval expr="glosub(miva_array_serialize(l.settings:record), ',', '<BR>')" />
    <mvt:eval expr="glosub(miva_array_serialize(l.settings:product), ',', '<BR>')" /> 

    Leave a comment:


  • William Davis
    replied
    Originally posted by Bruce - PhosphorMedia View Post
    Try this:

    Code:
    <mvt:if expr="l.settings:record:inv_level EQ 'low'">in stock<mvt:elseif expr="l.settings:record:inv_level EQ 'out'">out of stock<mvt:else>in stock</mvt:if>
    Its not working....

    Leave a comment:


  • Bruce - PhosphorMedia
    replied
    Try this:

    Code:
     
     <mvt:if expr="l.settings:record:inv_level EQ 'low'">in stock<mvt:elseif expr="l.settings:record:inv_level EQ 'out'">out of stock<mvt:else>in stock</mvt:if>

    Leave a comment:


  • William Davis
    replied
    Originally posted by Kent Multer View Post
    I'll guess that l.settings:product:inv_level is not being initialized properly, so it's empty. For testing purposes, I'd put a line of code in the template to show the value of product:inv_level on my screen -- or into the output file, or wherever the results are going.
    Dont understand.

    Leave a comment:


  • Bruce - PhosphorMedia
    replied
    not an expert with the Miva based feeds, but all the ones I've looked at use 'record' as the iterator so you need to be testing for l.settings:record:inv_level.

    also, unlike other product arrays, you must specifically list (in the settings area) the parts of the product record you want.

    Leave a comment:


  • Kent Multer
    replied
    I'll guess that l.settings:product:inv_level is not being initialized properly, so it's empty. For testing purposes, I'd put a line of code in the template to show the value of product:inv_level on my screen -- or into the output file, or wherever the results are going.

    Leave a comment:

Working...
X