diff --git a/wp-content/themes/cosmopet/modules/shop/components/single-product/component-controller.php b/wp-content/themes/cosmopet/modules/shop/components/single-product/component-controller.php index e635834..ecca9fc 100644 --- a/wp-content/themes/cosmopet/modules/shop/components/single-product/component-controller.php +++ b/wp-content/themes/cosmopet/modules/shop/components/single-product/component-controller.php @@ -1,11 +1,6 @@ is_type('variable') $product; $product_type; $context_for_twig; @@ -103,3 +98,53 @@ add_filter('timber/context', function ($context) use ($context_for_twig) { return array_merge($context, $context_for_twig); }); + + + $context = Timber::get_context(); + $post = Timber::get_post(); + $context['post'] = $post; + + $context['wc_breadcrumbs'] = array(); + + if (function_exists('woocommerce_breadcrumb')) { + $args = array( + 'delimiter' => '', + 'wrap_before' => '', + 'wrap_after' => '', + 'before' => '', + 'after' => '', + 'home' => _x('Home', 'breadcrumb', 'woocommerce'), + ); + + $breadcrumbs = new WC_Breadcrumb(); + $breadcrumbs->generate(); + + $formatted_breadcrumbs = array(); + foreach ($breadcrumbs->get_breadcrumb() as $crumb) { + $formatted_breadcrumbs[] = array( + 'text' => $crumb[0], + 'url' => $crumb[1] + ); + } + + $context['wc_breadcrumbs'] = $formatted_breadcrumbs; + } + + $product_id = get_the_ID(); + $product = wc_get_product($product_id); + + $context['product'] = $product; + + $context['related_products'] = array(); + $related_products_ids = wc_get_related_products($product_id, 5); + + if ($related_products_ids) { + foreach ($related_products_ids as $related_id) { + $related_product = wc_get_product($related_id); + if ($related_product) { + $context['related_products'][] = $related_product; + } + } + } + + Timber::render('_pages/shop/product-single.twig', $context); \ No newline at end of file diff --git a/wp-content/themes/cosmopet/single-product.php b/wp-content/themes/cosmopet/single-product.php index ad3e75f..8cbab0e 100644 --- a/wp-content/themes/cosmopet/single-product.php +++ b/wp-content/themes/cosmopet/single-product.php @@ -8,53 +8,5 @@ if (is_product()) { include_module('shop'); include_component('shop', 'single-product'); - - $context = Timber::get_context(); - $post = Timber::get_post(); - $context['post'] = $post; - - $context['wc_breadcrumbs'] = array(); - - if (function_exists('woocommerce_breadcrumb')) { - $args = array( - 'delimiter' => '', - 'wrap_before' => '', - 'wrap_after' => '', - 'before' => '', - 'after' => '', - 'home' => _x('Home', 'breadcrumb', 'woocommerce'), - ); - - $breadcrumbs = new WC_Breadcrumb(); - $breadcrumbs->generate(); - - $formatted_breadcrumbs = array(); - foreach ($breadcrumbs->get_breadcrumb() as $crumb) { - $formatted_breadcrumbs[] = array( - 'text' => $crumb[0], - 'url' => $crumb[1] - ); - } - - $context['wc_breadcrumbs'] = $formatted_breadcrumbs; - } - - $product_id = get_the_ID(); - $product = wc_get_product($product_id); - - $context['product'] = $product; - - $context['related_products'] = array(); - $related_products_ids = wc_get_related_products($product_id, 5); - - if ($related_products_ids) { - foreach ($related_products_ids as $related_id) { - $related_product = wc_get_product($related_id); - if ($related_product) { - $context['related_products'][] = $related_product; - } - } - } - - Timber::render('modules/shop/components/single-product/component-template.twig', $context); + } \ No newline at end of file diff --git a/wp-content/themes/cosmopet/modules/shop/components/single-product/component-template.twig b/wp-content/themes/cosmopet/templates/_pages/shop/product-single.twig similarity index 98% rename from wp-content/themes/cosmopet/modules/shop/components/single-product/component-template.twig rename to wp-content/themes/cosmopet/templates/_pages/shop/product-single.twig index e63a67a..5ecb353 100644 --- a/wp-content/themes/cosmopet/modules/shop/components/single-product/component-template.twig +++ b/wp-content/themes/cosmopet/templates/_pages/shop/product-single.twig @@ -1,494 +1,494 @@ -{% set current_path = template_path ~ '/modules/shop/components/single-product' %} -{% set bodyClass = 'bg-white' %} -{% set mainClass = 'wrapper' %} -{% extends 'layout.twig' %} - -{% block content %} -
- {{ product.get_regular_price }} {{ fn('get_woocommerce_currency_symbol') }} -
-- {{ ((product.get_regular_price - product.get_price) / product.get_regular_price * 100)|round }} -
-- {{ product.get_price }} {{ fn('get_woocommerce_currency_symbol') }} - {% if product.is_on_sale %} - -
- {{ product.get_regular_price }} {{ fn('get_woocommerce_currency_symbol') }} -
-- {% set discount = ((product.get_regular_price - product.get_sale_price) / product.get_regular_price * 100)|round(0, 'floor') %} - {{ discount }} -
-- {{ function('pll_e', 'ОПИСАНИЕ') }} -
-- {{ product.get_description() }} -
-- {{ function('pll_e', 'СОСТАВ') }} -
-- {{ product_meta.composition }} -
-- {{ function('pll_e', 'РЕКОМЕНДАЦИИ ПО КОРМЛЕНИЮ') }} -
-{{ col.c }} | - {% endfor %} -
---|
- {{ cell.c }} - - |
- {% endfor %}
-
{{ product_meta.feeding_recommendations_table.header.0 is iterable ? product_meta.feeding_recommendations_table.header.0|join(', ') : product_meta.feeding_recommendations_table.header.0 }}
- {% for row in product_meta.feeding_recommendations_table.body %} -{{ row.0 is iterable ? row.0|join(', ') : row.0 }}
- -{{ product_meta.feeding_recommendations_table.header.1 is iterable ? product_meta.feeding_recommendations_table.header.1|join(', ') : product_meta.feeding_recommendations_table.header.1 }}
- {% for row in product_meta.feeding_recommendations_table.body %} -{{ row.1 is iterable ? row.1|join(', ') : row.1 }}
- -{{ product_meta.feeding_recommendations_table.header.2 is iterable ? product_meta.feeding_recommendations_table.header.2|join(', ') : product_meta.feeding_recommendations_table.header.2 }}
- {% for row in product_meta.feeding_recommendations_table.body %} -{{ row.2 is iterable ? row.2|join(', ') : row.2 }}
-- {{ function('pll_e', 'РЕКОМЕНДАЦИИ ПО КОРМЛЕНИЮ') }} -
-- {{ function('pll_e', 'ПИЩЕВАЯ ЦЕННОСТЬ') }} -
-{{ function('pll_e', 'ПИЩЕВАЯ ЦЕННОСТЬ') }}
- {{ product_meta.nutritional_value }} -{{ function('pll_e', 'ВИТАМИНЫ НА КГ') }}
- {{ product_meta.vitamins }} -{{ function('pll_e', 'ПИТАТЕЛЬНЫЕ ДОБАВКИ НА КГ') }}
- {{ product_meta.additives }} -{{ function('pll_e', 'ЭНЕРГЕТИЧЕСКАЯ ЦЕННОСТЬ НА 100 ГРАММ') }}
-{{ product_meta.energy_value }}
-{{ function('pll_e', 'Важно') }}
-- {{ product_meta.important }} -
-- {{ function('pll_e', 'вашему питомцу может понравиться') }} -
- -+ {{ product.get_regular_price }} {{ fn('get_woocommerce_currency_symbol') }} +
++ {{ ((product.get_regular_price - product.get_price) / product.get_regular_price * 100)|round }} +
++ {{ product.get_price }} {{ fn('get_woocommerce_currency_symbol') }} + {% if product.is_on_sale %} + +
+ {{ product.get_regular_price }} {{ fn('get_woocommerce_currency_symbol') }} +
++ {% set discount = ((product.get_regular_price - product.get_sale_price) / product.get_regular_price * 100)|round(0, 'floor') %} + {{ discount }} +
++ {{ function('pll_e', 'ОПИСАНИЕ') }} +
++ {{ product.get_description() }} +
++ {{ function('pll_e', 'СОСТАВ') }} +
++ {{ product_meta.composition }} +
++ {{ function('pll_e', 'РЕКОМЕНДАЦИИ ПО КОРМЛЕНИЮ') }} +
+{{ col.c }} | + {% endfor %} +
---|
+ {{ cell.c }} + + |
+ {% endfor %}
+
{{ product_meta.feeding_recommendations_table.header.0 is iterable ? product_meta.feeding_recommendations_table.header.0|join(', ') : product_meta.feeding_recommendations_table.header.0 }}
+ {% for row in product_meta.feeding_recommendations_table.body %} +{{ row.0 is iterable ? row.0|join(', ') : row.0 }}
+ +{{ product_meta.feeding_recommendations_table.header.1 is iterable ? product_meta.feeding_recommendations_table.header.1|join(', ') : product_meta.feeding_recommendations_table.header.1 }}
+ {% for row in product_meta.feeding_recommendations_table.body %} +{{ row.1 is iterable ? row.1|join(', ') : row.1 }}
+ +{{ product_meta.feeding_recommendations_table.header.2 is iterable ? product_meta.feeding_recommendations_table.header.2|join(', ') : product_meta.feeding_recommendations_table.header.2 }}
+ {% for row in product_meta.feeding_recommendations_table.body %} +{{ row.2 is iterable ? row.2|join(', ') : row.2 }}
++ {{ function('pll_e', 'РЕКОМЕНДАЦИИ ПО КОРМЛЕНИЮ') }} +
++ {{ function('pll_e', 'ПИЩЕВАЯ ЦЕННОСТЬ') }} +
+{{ function('pll_e', 'ПИЩЕВАЯ ЦЕННОСТЬ') }}
+ {{ product_meta.nutritional_value }} +{{ function('pll_e', 'ВИТАМИНЫ НА КГ') }}
+ {{ product_meta.vitamins }} +{{ function('pll_e', 'ПИТАТЕЛЬНЫЕ ДОБАВКИ НА КГ') }}
+ {{ product_meta.additives }} +{{ function('pll_e', 'ЭНЕРГЕТИЧЕСКАЯ ЦЕННОСТЬ НА 100 ГРАММ') }}
+{{ product_meta.energy_value }}
+{{ function('pll_e', 'Важно') }}
++ {{ product_meta.important }} +
++ {{ function('pll_e', 'вашему питомцу может понравиться') }} +
+ +