Hi there,
Awesome plugin, been using it for a while now. Only thing I cant quite work out is the custom fields part. Is it possible to echo out all custom fields attached to the product with values using twig? At the moment I can only find a way to echo out that field like
{{ product.weight }}
But I would like something that would return every custom field name and value.
Hi octobro,
Sorry for the late, and thanks for using my plugin.
You can use
{{ product.customfields }}
to display all the custom fields, but you will need to order what you want to do with that, as you will have an array of template codes / values.
Thanks for getting back
{{ product.customfields }} lists all field ID and values. How do I list both field names and values?
Last updated
Yep I have tried this
<table class="table table-striped table-hover table-responsive">
          <tbody>
          {% for customfield in product.customfields %}
           <tr><td>{{ customfield.custom_field_id }} </td> <td> {{ customfield.value }} </td></tr>
          {% endfor %}
          </tbody>
          </table>
But it echos out
1 stereo 2 black 3 110kg
How would I be able to echo out the display_name instead of the custom_field_id ?
e.g Color Black instead of 2 Black.
Hi octobro, Sorry for the late. In the 1.11.17 version I've added a product.customfields attribute so you can make a loop on it and it will give you the customfield name => custom field value as you need.
I can't seem to get this working. Here is my twig code
 {% for customfield in product.customfields %}
                <tr>
                  <td>
                    {{ customfield.display_name }}
                  </td>
                </tr>
                <tr>
                  <td>
                   {{ customfield.value }}
                  </td>
                </tr>
                 {% endfor %}
                    if I use {{ product }}
I can see in the json I get
    "colour":"RED",    
       "customfields":[  
          {  
             "id":"1",    
             "product_id":"10000",
             "store_id":null,
             "custom_field_id":"1",
             "value":"RED",
             "created_at":"2016-09-14 09:32:00",
             "updated_at":"2016-09-14 09:32:14"
          }
Now it has the display_name and value outside the customfields key. This isn't good because if I had multiple customfields added dynamically I won't know the name. For example if I added in a custom field called Size. Size would appear in the product info but it would be better if it was looped in the customfields key.
So something like
"customfields":[  
      {  
         "id":"1",
         "product_id":"10000",
         "store_id":null,
         "custom_field_id":"1",
         "display_name":"Colour"
         "value":"RED",
         "created_at":"2016-09-14 09:32:00",
         "updated_at":"2016-09-14 09:32:14"
      },
But how can I do this when display_name is in another table?
Last updated
Just use this :
{% for display_name, value in product.customfields %}
    {{ display_name }} : {{ value }} <br>
{% endfor %}
                            Last updated
1-9 of 9