Aangepaste feed - producten uitsluiten per categorie

AyseAyse Member Berichten: 6

Ik ben bezig met een aangepaste feed voor beslist. Ik heb een extra categorie aangemaakt (naam categorie is feed) en diverse producten daar geplaatst . Ik wil een aangepast feed aanmaken waarin alleen deze categorie meegenomen wordt. Ergens zou ik dan een twig moeten plaatsen. Zie hieronder , het werkt niet! Kan iemand mij hiermee jelpen ?

<Products>

   {% for product in products %}

        {% if product.price.price_incl > 0 %}

  {% if category.title == feed %} -----dit werkt dus niet

           <Product>

               <Titel>{{ product.title | cdata }}</Titel>

               <Merk>{{ product.brand.title | cdata }}</Merk>

               <Categorie><![CDATA[{% for category in product.categories %}{{ category.title }}{% if not loop.last %}|{% endif %}{% endfor %}]]></Categorie>

               <Artikelcodefabrikant>{{ product.code | cdata }}</Artikelcodefabrikant>

               <Sku>{{ product.sku | cdata }}</Sku>

               <EAN>{{ product.ean | cdata }}</EAN>

               <Omschrijving>{{ product.description | cdata }}</Omschrijving>

               <Prijs>{{ product.price.price_incl | money_float }}</Prijs>

               {% if product.shipping %}

                   <Porto>{{ product.shipping.price | money_float }}</Porto>

               {% endif %}

               <Levertijd>

                   {% if product.stock_level > 0 %}

                       {% if product.in_stock_message %}

                           {{ product.in_stock_message | cdata }}

                       {% else %}

                           in stock

                       {% endif %}

                   {% else %}

                       {% if product.out_of_stock_message %}

                           {{ product.out_of_stock_message | cdata }}

                       {% else %}

                           out of stock

                       {% endif %}

                   {% endif %}

               </Levertijd>

               <Deeplink>{{ (product.url ~ '?source=beslist') | url }}</Deeplink>

               <Image-locatie>{{ product.image | url_image }}</Image-locatie>

               <Winkelproductcode>{{ product.id }}</Winkelproductcode>

           </Product>

    {% endif %}

         {% endif %}

   {% endfor %}

</Products>

Beste Antwoorden

  • AyseAyse Berichten: 6
    11 oktober aangepast Antwoord ✓

Antwoorden

  • AyseAyse Member Berichten: 6
    10 oktober aangepast

    Dankje, voor de {% endfor %} nog een {% endif%}, dan werkt het wel.

    Post edited by Ayse on
  • JoeyJoey Administrator, Moderator, Lightspeed Staff Berichten: 193 moderator

    Ah klopt ja, heb de post aangepast.

    eCom Support Team
    Lightspeed HQ
  • AyseAyse Member Berichten: 6
    11 oktober aangepast

    Nu wil ik dan een andere feed maken waar ik bepaalde producten wilt opnemen uit diverse categorieën. Gezamenlijke filterwaarde heb ik dan niet. Moet ik dan van deze ruim 50 producten  productid of artikel_code opgeven en de in feed deze telkens herhalen.

     {% if product.id == 61339577 %}

     {% if product.id == %}

    ---

    --

    Op deze manier moet aan eind ik heel veel endif plaatsen :(

    Of  {% if product.id == 61339577, 61339578 enz...... %}

    ---------------------------------------------------------------------------------------


    Bovenstaande heb ik opgelost door functie if in:

     {% if product.id in [61339577, 61339583 , 61339604] %}

    voor de laatste endfor een {% endif %} plaatsen

    Post edited by Ayse on
  • Vincent VerhaaffVincent Verhaaff Member Berichten: 2

    Hallo allemaal,

    Alvast bedankt voor alle info hierboven! Dit is precies wat ik wil doen maar dan voor de standaard Google shopping feed.

    Ik heb een categorie aangemaakt die "Google-feed-NL" heet en daar produkten ingeplaatst. (de categorie staat op "opnemen in catalogus = uit" en zichtbaar voor zoekmachines: "nee", heb hem ook op "ja" geprobeerd maar dat maakt geen verschil.

    Ik heb de code van de standaard werkende shopping feed gekopieerd waar een filter inzit om alleen de produkten die een Google category hebben te selecteren.

    Vervolgens heb ik op regel 8+9 het volgende toegevoegd:

    {% for category in product.categories %}

    {% if category.title == "Google-feed-NL" %}

    en aan het einde uiteraard: (regel 71+72

    {% endif %}

    {% endfor %}

    Maar de feed blijft leeg... waarschijnlijk heb ik de code dus op de verkeerde plaats gezet... (ik heb nog nooit eerder met twig gewerkt, dummy dus ;-))

    De volledige code staat onderaan en de url van de feed is: https://www.vinuovo.com/nl/feed/custom/19739/?google=true

    Zou iemand hier eens naar willen kijken om te zien wat ik fout gedaan heb?

    Alvast hartelijk dank allemaal!

    Groeten, Vincent

    <?xml version="1.0" encoding="utf-8"?>

    <rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">

       <channel>

           <title>{{ shop.title | cdata }}</title>

           <link>{{ shop.domain }}</link>

           <description>{{ shop.description | cdata }}</description>

           {% for product in products %}

    {% for category in product.categories %}

    {% if category.title == "Google-feed-NL" %}

              {% if product.google_category %}

               <item>

                   <g:id>{{ product.id }}</g:id>

                   <title>{{ product.fulltitle | cdata }}</title>

                   <description>{{ product.description | cdata }}</description>

                   {% if product.google_category %}

                       <g:google_product_category>{{ product.google_category | cdata }}</g:google_product_category>

                   {% endif %}

                   <link>{{ (product.url ~ '?source=googlebase') | url }}</link>

                  <g:image_link>{{ product.image | url_image | replace('image', 'image1') }}</g:image_link>

                  {% if product.images | length > 1 %}

                   {% for image in product.images | limit(10) %}

                    {% if not loop.first %}

                     <g:additional_image_link>

                      {{ image | url_image | replace('image', 'image' ~ loop.index) }}

                     </g:additional_image_link>

                    {% endif %}

                   {% endfor %}

                  {% endif %}

                   <g:product_type>

                    <![CDATA[

                     {% if product.categories %}

                      {% for category in product.categories | limit(1) %}

                       {{ category.title }} {% if category.subs|length > 0 %}

                        {% for subcategory in category.subs | limit(2) %} > {{ subcategory.title }}            

                         {% if subcategory.subs|length > 0 %}

                          {% for subsubcategory in subcategory.subs %}

                           > {{ subsubcategory.title }}

                          {% endfor %}

                         {% endif %}

                        {% endfor %}

                      {% endif %}

                     {% endfor %}

                    {% endif %}

                   ]]>

                  </g:product_type>

                   {% if product.available %}

                       <g:availability>in stock</g:availability>

                   {% else %}

                       <g:availability>out of stock</g:availability>

                   {% endif %}

                   {% if product.price.price_old_incl %}

                      <g:price>{{ product.price.price_old_incl | money_float }} {{ shop.currency | upper }}</g:price>

                      <g:sale_price>{{ product.price.price_incl | money_float }} {{ shop.currency | upper }}</g:sale_price>

                   {% else %}

                      <g:price>{{ product.price.price_incl | money_float }} {{ shop.currency | upper }}</g:price>

                   {% endif %}

                   {% if product.brand %}

                       <g:brand>{{ product.brand.title | cdata }}</g:brand>

                   {% endif %}

                   <g:condition>new</g:condition>

                   <g:gtin>{{ product.ean | cdata }}</g:gtin>

                   <g:mpn>{{ product.code | cdata }}</g:mpn>

                   {% if product.shipping %}

                       <g:shipping>

                           <g:country>{{ shop.country | cdata }}</g:country>

                           <g:price>{{ product.shipping.price | money_float }} {{ shop.currency | upper }}</g:price>

                       </g:shipping>

                   {% endif %}

               </item>

                      {% endif %}

    {% endif %}

    {% endfor %}

           {% endfor %}

       </channel>

    </rss>

  • AyseAyse Member Berichten: 6

    Beste Vincent,

    Ik heb gemerkt dat de categorie zichtbaar moet zijn. Dus je kunt de categorie naam evt veranderen in Bestsellers of zo iets. Ik heb kleine aanpassingen gedaan, zie hieronder, kun je deze proberen?

    <?xml version="1.0" encoding="utf-8"?>

    <rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">

       <channel>

           <title>{{ shop.title | cdata }}</title>

           <link>{{ shop.domain }}</link>

           <description>{{ shop.description | cdata }}</description>

           {% for product in products %}

     {% if product.price.price_incl > 0 %}

    {% for category in product.categories %}

    {% if category.title == "Google-feed-NL" %}

                <item>

                   <g:id>{{ product.id }}</g:id>

                   <title>{{ product.fulltitle | cdata }}</title>

                   <description>{{ product.description | cdata }}</description>

                   {% if product.google_category %}

                       <g:google_product_category>{{ product.google_category | cdata }}</g:google_product_category>

                   {% endif %}

                   <link>{{ (product.url ~ '?source=googlebase') | url }}</link>

                  <g:image_link>{{ product.image | url_image | replace('image', 'image1') }}</g:image_link>

                  {% if product.images | length > 1 %}

                   {% for image in product.images | limit(10) %}

                    {% if not loop.first %}

                     <g:additional_image_link>

                      {{ image | url_image | replace('image', 'image' ~ loop.index) }}

                     </g:additional_image_link>

                    {% endif %}

                   {% endfor %}

                  {% endif %}

                   <g:product_type>

                    <![CDATA[

                     {% if product.categories %}

                      {% for category in product.categories | limit(1) %}

                       {{ category.title }} {% if category.subs|length > 0 %}

                        {% for subcategory in category.subs | limit(2) %} > {{ subcategory.title }}            

                         {% if subcategory.subs|length > 0 %}

                          {% for subsubcategory in subcategory.subs %}

                           > {{ subsubcategory.title }}

                          {% endfor %}

                         {% endif %}

                        {% endfor %}

                      {% endif %}

                     {% endfor %}

                    {% endif %}

                   ]]>

                  </g:product_type>

                   {% if product.available %}

                       <g:availability>in stock</g:availability>

                   {% else %}

                       <g:availability>out of stock</g:availability>

                   {% endif %}

                   {% if product.price.price_old_incl %}

                      <g:price>{{ product.price.price_old_incl | money_float }} {{ shop.currency | upper }}</g:price>

                      <g:sale_price>{{ product.price.price_incl | money_float }} {{ shop.currency | upper }}</g:sale_price>

                   {% else %}

                      <g:price>{{ product.price.price_incl | money_float }} {{ shop.currency | upper }}</g:price>

                   {% endif %}

                   {% if product.brand %}

                       <g:brand>{{ product.brand.title | cdata }}</g:brand>

                   {% endif %}

                   <g:condition>new</g:condition>

                   <g:gtin>{{ product.ean | cdata }}</g:gtin>

                   <g:mpn>{{ product.code | cdata }}</g:mpn>

                   {% if product.shipping %}

                       <g:shipping>

                           <g:country>{{ shop.country | cdata }}</g:country>

                           <g:price>{{ product.shipping.price | money_float }} {{ shop.currency | upper }}</g:price>

                       </g:shipping>

                   {% endif %}

               </item>

            {% endif %} 

          {% endfor %}

      {% endif %}

        {% endfor %}

       </channel>

    </rss>

  • Vincent VerhaaffVincent Verhaaff Member Berichten: 2

    Hi Ayse!

    Hartelijk dank voor de snelle reactie, de aanpassingen en de tips!

    Ik heb de categorie naam verandert, de feed werkt en de fetch van Google is goed verlopen!

    Dit stelt me in staat om voor ieder land verschillende producten in shopping te targeten, en dat gaat me heel veel geld aan nutteloze clicks schelen!🤑

    Nogmaals hartelijk dank voor de uitstekende support! 🙏

    Met de vriendelijke groeten uit Frankrijk,

    Vincent

Log In of Registreer om te reageren.