OFBiz
  1. OFBiz
  2. OFBIZ-4208

Product page meta-tag does not contain i18n content

    Details

      Description

      the groovy script that produces the content meta information is only partially using i18n information from the Content Wrapper. Namely, it does NOT use the Product or Category ContentWrapper to receive internationalized content for Product Name and Description or Category Description but rather the direct properties of the product entity.
      Using the ContentWrapper will overcome this shortcoming.

      The fix needs to be applied in applications/order/webapp/ordermgr/WEB-INF/actions/cart/catalog/Product.groovy

      It is assumed that ContentWrappers will handle primitive over related Content properly, ie. if there is no related Content entity but only primitive content, it will return that. And if there is i18n content missing in the desired (current session) locale, it will return the default locale translation.

      The attached fixes are for the most-used releases and trunk.

        Activity

        Hide
        Jacques Le Roux added a comment -

        Hi Carsten,

        This needs a bit more work. See https://cwiki.apache.org/confluence/display/OFBIZ/How+to+localize+Product+and+Categories+descriptions and you should explain that in https://cwiki.apache.org/confluence/display/OFBIZ/Guide+to+OFBiz-i18n%2C++Internationalisation+of+OFBiz#GuidetoOFBiz-i18n,InternationalisationofOFBiz-ProductContentspecialremarks

        I mean that by default Product.productName and ProductCategory.description contain the info. It's only when you need to i18n then you use contentWrapper.get("PRODUCT_NAME"). THis could be discussed but it's how it has been build from the beginning. I think i18n did not exist at the beginning and the Content mechanism has been added later. Both are still handled, direct access being the default and you need to handle it.

        Thanks

        Show
        Jacques Le Roux added a comment - Hi Carsten, This needs a bit more work. See https://cwiki.apache.org/confluence/display/OFBIZ/How+to+localize+Product+and+Categories+descriptions and you should explain that in https://cwiki.apache.org/confluence/display/OFBIZ/Guide+to+OFBiz-i18n%2C++Internationalisation+of+OFBiz#GuidetoOFBiz-i18n,InternationalisationofOFBiz-ProductContentspecialremarks I mean that by default Product.productName and ProductCategory.description contain the info. It's only when you need to i18n then you use contentWrapper.get("PRODUCT_NAME"). THis could be discussed but it's how it has been build from the beginning. I think i18n did not exist at the beginning and the Content mechanism has been added later. Both are still handled, direct access being the default and you need to handle it. Thanks
        Hide
        Jacques Le Roux added a comment -

        BTW you don't need to provide a patch for each version. Trunk is enough, we have tools to automatically backport in releases (sometimes with a little manual help)

        Show
        Jacques Le Roux added a comment - BTW you don't need to provide a patch for each version. Trunk is enough, we have tools to automatically backport in releases (sometimes with a little manual help)
        Hide
        Carsten Schinzer added a comment -

        Hi Jacques,

        my impression was that the content wrapper classes as such do handle the regular-attribute-value vs. related-content-attribute-values for me as there were references to the content wrapper before I touched the groovy scripts (e.g. for the description meta-tag).

        I have now updated the online documents as you sugested.

        Please let me know whether you think anything else would be outstanding.

        Regards

        Carsten

        Show
        Carsten Schinzer added a comment - Hi Jacques, my impression was that the content wrapper classes as such do handle the regular-attribute-value vs. related-content-attribute-values for me as there were references to the content wrapper before I touched the groovy scripts (e.g. for the description meta-tag). I have now updated the online documents as you sugested. Please let me know whether you think anything else would be outstanding. Regards Carsten
        Hide
        Jacques Le Roux added a comment -

        Hi Carsten,

        It's ok with me, good work by the way! Just that someone has worked since on the same subject and I can't merge your work. Could you please handle it?

        Thanks

        Show
        Jacques Le Roux added a comment - Hi Carsten, It's ok with me, good work by the way! Just that someone has worked since on the same subject and I can't merge your work. Could you please handle it? Thanks
        Hide
        Jacques Le Roux added a comment -

        Thanks Carsten,

        Your patches for R10.04 and R9.04 are committed respectively at r1088035 and r1088034

        At least your effort to build separate patches have been useful in this peculiar case

        Show
        Jacques Le Roux added a comment - Thanks Carsten, Your patches for R10.04 and R9.04 are committed respectively at r1088035 and r1088034 At least your effort to build separate patches have been useful in this peculiar case
        Hide
        Jacques Le Roux added a comment -

        Hi Carsten,

        Did you get a chance to update your trunk working copy? It's a pity it's corrected in releases and not in trunk... (BTW I will have to put it in R11.04 also)

        Show
        Jacques Le Roux added a comment - Hi Carsten, Did you get a chance to update your trunk working copy? It's a pity it's corrected in releases and not in trunk... (BTW I will have to put it in R11.04 also)
        Hide
        Jacques Le Roux added a comment -

        Bump...?

        Show
        Jacques Le Roux added a comment - Bump...?
        Hide
        Jacques Le Roux added a comment -

        Thanks Carsten,

        Your patch is in
        trunk at r1194958
        R11.04 at r1194965.

        Show
        Jacques Le Roux added a comment - Thanks Carsten, Your patch is in trunk at r1194958 R11.04 at r1194965.

          People

          • Assignee:
            Jacques Le Roux
            Reporter:
            Carsten Schinzer
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 2h
              2h
              Remaining:
              Remaining Estimate - 2h
              2h
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development