Étiquette : objet

[Javascript] Utiliser reduce pour obtenir la somme de toutes les valeurs d’une clé spécifique dans un tableau (ou un objet)

Source: How to sum all of values from specific key in object?

J’ai cet objet:

…et je veux effectuer la somme de toutes les valeurs de la clé credit (ce qui me retournerait « 3 » dans le cas de mon tableau).

[Javascript] Créer des chemins dynamiques vers des données contenues dans un objet ou un tableau

Source: Accessing nested JavaScript objects and arrays by string path et la demo sur jsFiddle.net.

Utilisation:

Source: How to create a dynamic nested object from array of properties.

PDF – How to create a dynamic nested object from array of properties · GitHub

Code source (zip)

[Javascript] Accéder dynamiquement et via un chemin sous forme de chaîne de caractères à une information consignée dans un objet ou un tableau JS

Source: DYNAMICALLY Accessing nested JavaScript objects and arrays by string path et un petit jsFiddle pour la route.

[Twig] Utiliser le tag Set et la fonction Include pour récupérer les informations d’un fichier JSON dans un template Twig

Source: Set twig variable to json file as an include.

Fichier _data/test.json:

Fichier template.twig:

[Magento 2] Créer un Helper pour récupérer sous forme d’objet dans un template PHTML des informations (ID, nom…) sur la catégorie produit en cours

Testé fonctionnel Magento 2.3!

ATTENTION: bien que cette méthode soit fonctionnelle, ce billet consigne mes notes sur la façon de créer un Helper pour récupérer sous forme d’objet dans un template PHTML des informations (ID, nom…) sur catégorie produit en cours. Les fichiers ne sont pas forcément placés aux bons endroits par rapport aux bonnes pratiques Magento 2.

Créer un module

Sodifrance_GetCurrentCategory

app/code/Sodifrance/GetCurrentCategory/etc/di.xml

app/code/Sodifrance/GetCurrentCategory/Model/Layer/Resolver.php

Hérité de vendor/magento/module-catalog/Model/Layer/Resolver.php.

Créer un module

Pdv_Catalog

app/code/Pdv/Catalog/Helper/Data.php

Hérité de vendor/magento/module-catalog/Helper/Data.php.

app/design/frontend/Sodifrance/pdv/Magento_Catalog/templates/product/list_abonnements.phtml

Hérité de vendor/magento/module-catalog/view/frontend/templates/product/list.phtml.

Dans le bloc de code suivant:

…mettre à la suite:

Pour récupérer le nom ou l’ID de la catégorie en cours

La majeure partie des informations récupérables est définie ici: vendor/magento/module-catalog/Model/Category.php. Mais précisément pour le nom et l’ID de la catégorie en cours:

Vous pouvez également utiliser les fonctionnalités d’auto-complétion de votre IDE pour avoir accès à toute la liste des informations contenues dans votre objet PHP $currentCategory en commençant à taper <?php echo $currentCategory->get.

[AngularJS] Utiliser un filtre pour récupérer le nombre de clés contenues dans un objet JSON.

Source JS du filtre:

Utilisation qui en est faite dans le template:

Pour l’objet JSON lineData.details.config, numKeys me donne le nombre d’items présents dans l’objet.

[RBS Change 3.x] Effectuer une boucle tal:repeat qui rapporte l’ensemble des informations contenues dans une fonction

\\change30\alainflou\modules\project\persistentdocument\frame.class.php

\\change30\alainflou\themes\responsive\modules\project\templates\Project-Block-ProductItem-List.all.all.html


Récupérer une propriété contenue dans un objet

Dans Change, chaque module a un dossier persistentdocument/. Ce dossier contient un ou plusieurs fichiers XML listant un ensemble de propriétés contenues dans un objet.

Par exemple, dans /modules/parking/persistentdocument/parking.xml, sont listées toutes les propriétés de l’objet parking :

Si, dans mon template de bloc, je souhaite récupérer l’information de nom de l’objet parking, je procède comme suit :

[Magento] Récupérer et afficher les propriétés d’un objet (d’un produit, par exemple)

Récupérer et afficher les propriétés d’un objet (ici l’objet $currentproduct qui est un produit) :

Afficher le libellé et l’ID de l’objet $currentproduct :

[Magento] Afficher l’ensemble des propriétés d’un objet

Exemple : l’objet $item est appelé dans le template summary.phtml.
Ce tableau stocke et permet d’afficher tout un ensemble d’informations sur un produit ajouté au panier.

Pour afficher les propriétés de l’objet $item :

Résultat en front :

Array
(
[item_id] => 70
[quote_id] => 51
[created_at] => 2015-01-30 09:08:42
[updated_at] => 2015-01-30 09:08:42
[product_id] => 2
[store_id] => 1
[parent_item_id] =>
[is_virtual] => 0
[sku] => test_b_produit
[name] => testB
[description] =>
[applied_rule_ids] =>
[additional_data] =>
[free_shipping] =>
[is_qty_decimal] => 0
[no_discount] => 0
[weight] => 10.0000
[qty] => 1
[price] => 8
[base_price] => 8
[custom_price] =>
[discount_percent] => 0
[discount_amount] => 0
[base_discount_amount] => 0
[tax_percent] => 0
[tax_amount] => 0
[base_tax_amount] => 0
[row_total] => 8
[base_row_total] => 8
[row_total_with_discount] => 0.0000
[row_weight] => 10
[product_type] => simple
[base_tax_before_discount] =>
[tax_before_discount] =>
[original_custom_price] =>
[redirect_url] =>
[base_cost] =>
[price_incl_tax] => 8
[base_price_incl_tax] => 8
[row_total_incl_tax] => 8
[base_row_total_incl_tax] => 8
[hidden_tax_amount] => 0
[base_hidden_tax_amount] => 0
[gift_message_id] =>
[weee_tax_disposition] => 0
[weee_tax_row_disposition] => 0
[base_weee_tax_disposition] => 0
[base_weee_tax_row_disposition] => 0
[weee_tax_applied] => a:0:{}
[weee_tax_applied_amount] => 0
[weee_tax_applied_row_amount] => 0
[base_weee_tax_applied_amount] => 0
[base_weee_tax_applied_row_amnt] =>
[stock_id] => 1
[image_url] =>
[image] => /c/h/charlotte-pirroni-miss-cote-dazur.jpg
[qty_options] => Array
(
)

[product] => Array
(
[entity_id] => 2
[entity_type_id] => 4
[attribute_set_id] => 4
[type_id] => simple
[sku] => test_b_produit
[has_options] => 0
[required_options] => 0
[created_at] => 2014-11-24 13:36:52
[updated_at] => 2014-12-10 15:07:46
[name] => testB
[image] => /c/h/charlotte-pirroni-miss-cote-dazur.jpg
[small_image] => /c/h/charlotte-pirroni-miss-cote-dazur.jpg
[thumbnail] => /c/h/charlotte-pirroni-miss-cote-dazur.jpg
[url_key] => testb
[url_path] => testb.html
[msrp_enabled] => 2
[msrp_display_actual_price_type] => 4
[gift_message_available] =>
[status] => 1
[visibility] => 4
[tax_class_id] => 0
[is_recurring] => 0
[weight] => 10.0000
[price] => 8.0000
[special_price] =>
[msrp] =>
[special_from_date] =>
[special_to_date] =>
[batch_prices] => Array
(
)

[website_batch_prices] => Array
(
)

[initial_price] => 8.0000
[final_price] =>
[batch_special_prices] => Array
(
)

[website_batch_special_prices] => Array
(
)

[initial_special_price] =>
[is_salable] => 1
[stock_item] => Array
(
[item_id] => 2
[product_id] => 2
[stock_id] => 1
[qty] => 19.0000
[min_qty] => 0.0000
[use_config_min_qty] => 1
[is_qty_decimal] => 0
[backorders] => 0
[use_config_backorders] => 1
[min_sale_qty] => 1.0000
[use_config_min_sale_qty] => 1
[max_sale_qty] => 0.0000
[use_config_max_sale_qty] => 1
[is_in_stock] => 1
[low_stock_date] =>
[notify_stock_qty] =>
[use_config_notify_stock_qty] => 1
[manage_stock] => 0
[use_config_manage_stock] => 1
[stock_status_changed_auto] => 0
[use_config_qty_increments] => 1
[qty_increments] => 0.0000
[use_config_enable_qty_inc] => 1
[enable_qty_increments] => 0
[is_decimal_divided] => 0
[type_id] => simple
[stock_status_changed_automatically] => 0
[use_config_enable_qty_increments] => 1
[product_name] => testB
[store_id] => 1
[product_type_id] => simple
[product_status_changed] => 1
[product_changed_websites] =>
[ordered_items] => 1
)

[stock_tax_class_ids] => Array
(
)

[do_not_use_category_id] => 1
[request_path] => testb.html
[tier_prices] => Array
(
)

[tier_price] => Array
(
)

[is_in_stock] => 1
[store_id] => 1
[customer_group_id] => 0
[group_price] => Array
(
)

[group_price_changed] => 0
)

[tax_class_id] => 0
[is_recurring] => 0
[has_error] =>
[calculation_price] => 8
[original_price] => 8
[is_nominal] =>
[base_calculation_price] => 8
[converted_price] => 8
[base_original_price] => 8
[taxable_amount] => 8
[base_taxable_amount] => 8
[is_price_incl_tax] =>
[base_weee_tax_applied_row_amount] => 0
[discount_tax_compensation] => 0
)

Admettons qu’on souhaite afficher la propriété [sku] de l’objet $item :

Admettons qu’on souhaite afficher la propriété [created_at] de l’objet $item :

Autre méthode possible :