From 56fab94f47227247a2b432466d1b695d8808bd92 Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Sun, 4 Jan 2026 21:22:28 +0100 Subject: [PATCH] =?UTF-8?q?Dodanie=20obs=C5=82ugi=20dodatkowych=20danych?= =?UTF-8?q?=20producenta=20oraz=20informacji=20o=20bezpiecze=C5=84stwie=20?= =?UTF-8?q?w=20klasach=20ShopProducer=20i=20ShopProduct?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controls/class.ShopProducer.php | 2 +- autoload/admin/controls/class.ShopProduct.php | 2 +- autoload/admin/factory/class.Languages.php | 17 ++- autoload/admin/factory/class.ShopProducer.php | 57 ++++---- autoload/admin/factory/class.ShopProduct.php | 132 +++++++++--------- autoload/shop/class.Producer.php | 1 + autoload/shop/class.Product.php | 8 +- .../_partial/product-custom-fields.php | 2 +- templates/shop-product/product.php | 11 ++ templates_user/shop-product/product.php | 30 +++- 10 files changed, 158 insertions(+), 104 deletions(-) diff --git a/autoload/admin/controls/class.ShopProducer.php b/autoload/admin/controls/class.ShopProducer.php index 932cbc1..03fe750 100644 --- a/autoload/admin/controls/class.ShopProducer.php +++ b/autoload/admin/controls/class.ShopProducer.php @@ -15,7 +15,7 @@ class ShopProducer $response = [ 'status' => 'error', 'msg' => 'Podczas zapisywania producenta wystąpił błąd. Proszę spróbować ponownie.' ]; $values = json_decode( \S::get( 'values' ), true ); - if ( $producer_id = \admin\factory\ShopProducer::save( $values['id'], $values['name'], $values['status'] == 'on' ? 1 : 0, $values['img'], $values['description'], $values['meta_title'] ) ) + if ( $producer_id = \admin\factory\ShopProducer::save( $values['id'], $values['name'], $values['status'] == 'on' ? 1 : 0, $values['img'], $values['description'], $values['data'], $values['meta_title'] ) ) $response = [ 'status' => 'ok', 'msg' => 'Producent został zapisany.', 'id' => $producer_id ]; echo json_encode( $response ); diff --git a/autoload/admin/controls/class.ShopProduct.php b/autoload/admin/controls/class.ShopProduct.php index 5a086bf..8a80e58 100644 --- a/autoload/admin/controls/class.ShopProduct.php +++ b/autoload/admin/controls/class.ShopProduct.php @@ -186,7 +186,7 @@ class ShopProduct $values['id'], $values['name'], $values['short_description'], $values['description'], $values['status'], $values['meta_description'], $values['meta_keywords'], $values['seo_link'], $values['copy_from'], $values['categories'], $values['price_netto'], $values['price_brutto'], $values['vat'], $values['promoted'], $values['warehouse_message_zero'], $values['warehouse_message_nonzero'], $values['tab_name_1'], $values['tab_description_1'], $values['tab_name_2'], $values['tab_description_2'], $values['layout_id'], $values['products_related'], (int) $values['set'], $values['price_netto_promo'], $values['price_brutto_promo'], - $values['new_to_date'], $values['stock_0_buy'], $values['wp'], $values['custom_label_0'], $values['custom_label_1'], $values['custom_label_2'], $values['custom_label_3'], $values['custom_label_4'], $values['additional_message'], (int)$values['quantity'], $values['additional_message_text'], $values['additional_message_required'] == 'on' ? 1 : 0, $values['canonical'], $values['meta_title'], $values['producer_id'], $values['sku'], $values['ean'], $values['product_unit'], $values['weight'], $values['xml_name'], $values['custom_field_name'], $values['custom_field_required'] + $values['new_to_date'], $values['stock_0_buy'], $values['wp'], $values['custom_label_0'], $values['custom_label_1'], $values['custom_label_2'], $values['custom_label_3'], $values['custom_label_4'], $values['additional_message'], (int)$values['quantity'], $values['additional_message_text'], $values['additional_message_required'] == 'on' ? 1 : 0, $values['canonical'], $values['meta_title'], $values['producer_id'], $values['sku'], $values['ean'], $values['product_unit'], $values['weight'], $values['xml_name'], $values['custom_field_name'], $values['custom_field_required'], $values['security_information'] ) ) { $response = [ 'status' => 'ok', 'msg' => 'Produkt został zapisany.', 'id' => $id ]; } diff --git a/autoload/admin/factory/class.Languages.php b/autoload/admin/factory/class.Languages.php index 19fe5c9..97c8006 100644 --- a/autoload/admin/factory/class.Languages.php +++ b/autoload/admin/factory/class.Languages.php @@ -9,11 +9,11 @@ class Languages global $mdb; return $mdb -> delete( 'pp_langs_translations', [ 'id' => $translation_id ] ); } - + public static function translation_save( $translation_id, $text, $languages ) { global $mdb; - + if ( $translation_id ) { $mdb -> update( 'pp_langs_translations', [ 'text' => $text ], [ 'id' => $translation_id ] ); @@ -38,13 +38,13 @@ class Languages return $translation_id; } } - + public static function translation_details( $translation_id ) { global $mdb; return $mdb -> get( 'pp_langs_translations', '*', [ 'id' => $translation_id ] ); } - + public static function language_delete( $language_id ) { global $mdb; @@ -127,10 +127,15 @@ class Languages return $mdb -> get( 'pp_langs', '*', [ 'id' => $language_id ] ); } - public static function languages_list() + public static function languages_list( $only_active = false ) { global $mdb; - return $mdb -> select( 'pp_langs', '*', [ 'ORDER' => [ 'o' => 'ASC' ] ] ); + + $where = []; + if ( $only_active ) + $where['status'] = 1; + + return $mdb -> select( 'pp_langs', '*', array_merge( [ 'ORDER' => [ 'o' => 'ASC' ] ], $where ) ); } } ?> \ No newline at end of file diff --git a/autoload/admin/factory/class.ShopProducer.php b/autoload/admin/factory/class.ShopProducer.php index 024a2e8..969d104 100644 --- a/autoload/admin/factory/class.ShopProducer.php +++ b/autoload/admin/factory/class.ShopProducer.php @@ -14,28 +14,30 @@ class ShopProducer return $mdb -> delete( 'pp_shop_producer', [ 'id' => $producer_id ] ); } - static public function save( $producer_id, $name, int $status, $img, $description, $meta_title ) + static public function save( $producer_id, $name, int $status, $img, $description, $data, $meta_title ) { global $mdb; if ( !$producer_id ) { $mdb -> insert( 'pp_shop_producer', [ - 'name' => $name, - 'status' => $status, - 'img' => $img - ] ); + 'name' => $name, + 'status' => $status, + 'img' => $img + ] ); $id = $mdb -> id(); - foreach ( $description as $key => $val ) + $langs = \admin\factory\Languages::languages_list( true ); + foreach ( $langs as $lg ) { $mdb -> insert( 'pp_shop_producer_lang', [ - 'producer_id' => $id, - 'lang_id' => $key, - 'description' => $val, - 'meta_title' => $meta_title[$key] - ] ); + 'producer_id' => $id, + 'lang_id' => $lg['id'], + 'description' => $description[ $lg['id'] ] ?? null, + 'data' => $data[ $lg['id'] ] ?? null, + 'meta_title' => $meta_title[ $lg['id'] ] ?? null + ] ); } \S::htacces(); @@ -46,29 +48,36 @@ class ShopProducer else { $mdb -> update( 'pp_shop_producer', [ - 'name' => $name, - 'status' => $status, - 'img' => $img - ], [ - 'id' => (int) $producer_id - ] ); + 'name' => $name, + 'status' => $status, + 'img' => $img + ], [ + 'id' => (int) $producer_id + ] ); - foreach ( $description as $key => $val ) + $langs = \admin\factory\Languages::languages_list( true ); + foreach ( $langs as $lg ) { - if ( $translation_id = $mdb -> get( 'pp_shop_producer_lang', 'id', [ 'AND' => [ 'producer_id' => $producer_id, 'lang_id' => $key ] ] ) ) + if ( $translation_id = $mdb -> get( 'pp_shop_producer_lang', 'id', [ 'AND' => [ 'producer_id' => $producer_id, 'lang_id' => $lg['id'] ] ] ) ) + { $mdb -> update( 'pp_shop_producer_lang', [ - 'description' => $val, - 'meta_title' => $meta_title[$key] + 'description' => $description[ $lg['id'] ] ?? null, + 'meta_title' => $meta_title[ $lg['id'] ] ?? null, + 'data' => $data[ $lg['id'] ] ?? null ], [ 'id' => $translation_id ] ); + } else + { $mdb -> insert( 'pp_shop_producer_lang', [ 'producer_id' => $producer_id, - 'lang_id' => $key, - 'description' => $val, - 'meta_title' => $meta_title[$key] + 'lang_id' => $lg['id'], + 'description' => $description[ $lg['id'] ] ?? null, + 'data' => $data[ $lg['id'] ] ?? null, + 'meta_title' => $meta_title[ $lg['id'] ] ?? null ] ); + } } \S::htacces(); diff --git a/autoload/admin/factory/class.ShopProduct.php b/autoload/admin/factory/class.ShopProduct.php index 71cce93..973c8fe 100644 --- a/autoload/admin/factory/class.ShopProduct.php +++ b/autoload/admin/factory/class.ShopProduct.php @@ -761,7 +761,7 @@ class ShopProduct } public static function save( - $product_id, $name, $short_description, $description, $status, $meta_description, $meta_keywords, $seo_link, $copy_from, $categories, $price_netto, $price_brutto, $vat, $promoted, $warehouse_message_zero, $warehouse_message_nonzero, $tab_name_1, $tab_description_1, $tab_name_2, $tab_description_2, $layout_id, $products_related, int $set_id, $price_netto_promo, $price_brutto_promo, $new_to_date, $stock_0_buy, $wp, $custom_label_0, $custom_label_1, $custom_label_2, $custom_label_3, $custom_label_4, $additional_message, int $quantity, $additional_message_text, int $additional_message_required, $canonical, $meta_title, $producer_id, $sku, $ean, $product_unit, $weight, $xml_name, $custom_field_name, $custom_field_required + $product_id, $name, $short_description, $description, $status, $meta_description, $meta_keywords, $seo_link, $copy_from, $categories, $price_netto, $price_brutto, $vat, $promoted, $warehouse_message_zero, $warehouse_message_nonzero, $tab_name_1, $tab_description_1, $tab_name_2, $tab_description_2, $layout_id, $products_related, int $set_id, $price_netto_promo, $price_brutto_promo, $new_to_date, $stock_0_buy, $wp, $custom_label_0, $custom_label_1, $custom_label_2, $custom_label_3, $custom_label_4, $additional_message, int $quantity, $additional_message_text, int $additional_message_required, $canonical, $meta_title, $producer_id, $sku, $ean, $product_unit, $weight, $xml_name, $custom_field_name, $custom_field_required, $security_information ) { global $mdb, $user; @@ -804,27 +804,29 @@ class ShopProduct if ( $id ) { - foreach ( $name as $key => $val ) + $langs = \admin\factory\Languages::languages_list( true ); + foreach ( $langs as $lg ) { $mdb -> insert( 'pp_shop_products_langs', [ 'product_id' => (int) $id, - 'lang_id' => $key, - 'name' => '' !== $name[$key] ? $name[$key] : null, - 'short_description' => '' !== $short_description[$key] ? $short_description[$key] : null, - 'description' => '' !== $description[$key] ? $description[$key] : null, - 'meta_description' => '' !== $meta_description[$key] ? $meta_description[$key] : null, - 'meta_keywords' => '' !== $meta_keywords[$key] ? $meta_keywords[$key] : null, - 'seo_link' => '' !== \S::seo($seo_link[$key]) ? \S::seo($seo_link[$key]) : null, - 'copy_from' => '' !== $copy_from[$key] ? $copy_from[$key] : null, - 'warehouse_message_zero' => '' !== $warehouse_message_zero[$key] ? $warehouse_message_zero[$key] : null, - 'warehouse_message_nonzero' => '' !== $warehouse_message_nonzero[$key] ? $warehouse_message_nonzero[$key] : null, - 'tab_name_1' => '' !== $tab_name_1[$key] ? $tab_name_1[$key] : null, - 'tab_description_1' => '' !== $tab_description_1[$key] ? $tab_description_1[$key] : null, - 'tab_name_2' => '' !== $tab_name_2[$key] ? $tab_name_2[$key] : null, - 'tab_description_2' => '' !== $tab_description_2[$key] ? $tab_description_2[$key] : null, - 'canonical' => '' !== $canonical[$key] ? $canonical[$key] : null, - 'meta_title' => '' !== $meta_title[$key] ? $meta_title[$key] : null, - 'xml_name' => '' !== $xml_name[$key] ? $xml_name[$key] : null, + 'lang_id' => $lg['id'], + 'name' => $name[$lg['id']] ? $name[$lg['id']] : null, + 'short_description' => $short_description[$lg['id']] ? $short_description[$lg['id']] : null, + 'description' => $description[$lg['id']] ? $description[$lg['id']] : null, + 'meta_description' => $meta_description[$lg['id']] ? $meta_description[$lg['id']] : null, + 'meta_keywords' => $meta_keywords[$lg['id']] ? $meta_keywords[$lg['id']] : null, + 'seo_link' => $seo_link[$lg['id']] ? \S::seo($seo_link[$lg['id']]) : null, + 'copy_from' => $copy_from[$lg['id']] ? $copy_from[$lg['id']] : null, + 'warehouse_message_zero' => $warehouse_message_zero[$lg['id']] ? $warehouse_message_zero[$lg['id']] : null, + 'warehouse_message_nonzero' => $warehouse_message_nonzero[$lg['id']] ? $warehouse_message_nonzero[$lg['id']] : null, + 'tab_name_1' => $tab_name_1[$lg['id']] ? $tab_name_1[$lg['id']] : null, + 'tab_description_1' => $tab_description_1[$lg['id']] ? $tab_description_1[$lg['id']] : null, + 'tab_name_2' => $tab_name_2[$lg['id']] ? $tab_name_2[$lg['id']] : null, + 'tab_description_2' => $tab_description_2[$lg['id']] ? $tab_description_2[$lg['id']] : null, + 'canonical' => $canonical[$lg['id']] ? $canonical[$lg['id']] : null, + 'meta_title' => $meta_title[$lg['id']] ? $meta_title[$lg['id']] : null, + 'xml_name' => $xml_name[$lg['id']] ? $xml_name[$lg['id']] : null, + 'security_information' => $security_information[$lg['id']] ? $security_information[$lg['id']] : null, ] ); } @@ -1007,51 +1009,52 @@ class ShopProduct \admin\factory\ShopProduct::update_product_combinations_prices( $product_id, $price_brutto, $vat, $price_brutto_promo ); - foreach ( $name as $key => $val ) + $langs = \admin\factory\Languages::languages_list( true ); + foreach ( $langs as $lg ) { - if ( $translation_id = $mdb -> get( 'pp_shop_products_langs', 'id', [ 'AND' => [ 'product_id' => $product_id, 'lang_id' => $key ] ] ) ) + if ( $translation_id = $mdb -> get( 'pp_shop_products_langs', 'id', [ 'AND' => [ 'product_id' => $product_id, 'lang_id' => $lg['id'] ] ] ) ) { $current_seo_link = $mdb -> get( 'pp_shop_products_langs', 'seo_link', [ 'id' => $translation_id ] ); - if ( $seo_link[$key] ) - $new_seo_link = \S::seo( $seo_link[$key] ); + if ( $seo_link[$lg['id']] ) + $new_seo_link = \S::seo( $seo_link[$lg['id']] ); else - $new_seo_link = \S::seo( 'p-' . $product_id . '-' . $name[$key] ); + $new_seo_link = \S::seo( 'p-' . $product_id . '-' . $name[$lg['id']] ); if ( $new_seo_link !== $current_seo_link and $current_seo_link != '' ) { - if ( !$mdb -> count( 'pp_redirects', [ 'from' => $current_seo_link, 'to' => $new_seo_link, 'lang_id' => $key, 'product_id' => $product_id ] ) ) + if ( !$mdb -> count( 'pp_redirects', [ 'from' => $current_seo_link, 'to' => $new_seo_link, 'lang_id' => $lg['id'], 'product_id' => $product_id ] ) ) { - if ( $mdb -> count( 'pp_redirects', [ 'from' => $new_seo_link, 'to' => $current_seo_link, 'lang_id' => $key, 'product_id' => $product_id ] ) ) - $mdb -> delete( 'pp_redirects', [ 'from' => $new_seo_link, 'to' => $current_seo_link, 'lang_id' => $key, 'product_id' => $product_id ] ); + if ( $mdb -> count( 'pp_redirects', [ 'from' => $new_seo_link, 'to' => $current_seo_link, 'lang_id' => $lg['id'], 'product_id' => $product_id ] ) ) + $mdb -> delete( 'pp_redirects', [ 'from' => $new_seo_link, 'to' => $current_seo_link, 'lang_id' => $lg['id'], 'product_id' => $product_id ] ); else { if ( \S::canAddRedirect( $current_seo_link, $new_seo_link ) ) - $mdb -> insert( 'pp_redirects', [ 'from' => $current_seo_link, 'to' => $new_seo_link, 'lang_id' => $key, 'product_id' => $product_id ] ); + $mdb -> insert( 'pp_redirects', [ 'from' => $current_seo_link, 'to' => $new_seo_link, 'lang_id' => $lg['id'], 'product_id' => $product_id ] ); else - $mdb -> delete( 'pp_redirects', [ 'product_id' => $product_id, 'lang_id' => $key ] ); + $mdb -> delete( 'pp_redirects', [ 'product_id' => $product_id, 'lang_id' => $lg['id'] ] ); } } } $mdb -> update( 'pp_shop_products_langs', [ - 'lang_id' => $key, - 'name' => '' !== $name[$key] ? $name[$key] : null, - 'short_description' => '' !== $short_description[$key] ? $short_description[$key] : null, - 'description' => '' !== $description[$key] ? $description[$key] : null, - 'meta_description' => '' !== $meta_description[$key] ? $meta_description[$key] : null, - 'meta_keywords' => '' !== $meta_keywords[$key] ? $meta_keywords[$key] : null, - 'seo_link' => \S::seo( $seo_link[$key] ) != '' ? \S::seo( $seo_link[$key] ) : \S::seo( 'p-' . $product_id . '-' . $name[$key] ), - 'copy_from' => '' !== $copy_from[$key] ? $copy_from[$key] : null, - 'warehouse_message_zero' => '' !== $warehouse_message_zero[$key] ? $warehouse_message_zero[$key] : null, - 'warehouse_message_nonzero' => '' !== $warehouse_message_nonzero[$key] ? $warehouse_message_nonzero[$key] : null, - 'tab_name_1' => '' !== $tab_name_1[$key] ? $tab_name_1[$key] : null, - 'tab_description_1' => '' !== $tab_description_1[$key] ? $tab_description_1[$key] : null, - 'tab_name_2' => '' !== $tab_name_2[$key] ? $tab_name_2[$key] : null, - 'tab_description_2' => '' !== $tab_description_2[$key] ? $tab_description_2[$key] : null, - 'canonical' => '' !== $canonical[$key] ? $canonical[$key] : null, - 'meta_title' => '' !== $meta_title[$key] ? $meta_title[$key] : null, - 'xml_name' => '' !== $xml_name[$key] ? $xml_name[$key] : null, + 'name' => $name[$lg['id']] ? $name[$lg['id']] : null, + 'short_description' => $short_description[$lg['id']] ? $short_description[$lg['id']] : null, + 'description' => $description[$lg['id']] ? $description[$lg['id']] : null, + 'meta_description' => $meta_description[$lg['id']] ? $meta_description[$lg['id']] : null, + 'meta_keywords' => $meta_keywords[$lg['id']] ? $meta_keywords[$lg['id']] : null, + 'seo_link' => $seo_link[$lg['id']] ? \S::seo($seo_link[$lg['id']]) : null, + 'copy_from' => $copy_from[$lg['id']] ? $copy_from[$lg['id']] : null, + 'warehouse_message_zero' => $warehouse_message_zero[$lg['id']] ? $warehouse_message_zero[$lg['id']] : null, + 'warehouse_message_nonzero' => $warehouse_message_nonzero[$lg['id']] ? $warehouse_message_nonzero[$lg['id']] : null, + 'tab_name_1' => $tab_name_1[$lg['id']] ? $tab_name_1[$lg['id']] : null, + 'tab_description_1' => $tab_description_1[$lg['id']] ? $tab_description_1[$lg['id']] : null, + 'tab_name_2' => $tab_name_2[$lg['id']] ? $tab_name_2[$lg['id']] : null, + 'tab_description_2' => $tab_description_2[$lg['id']] ? $tab_description_2[$lg['id']] : null, + 'canonical' => $canonical[$lg['id']] ? $canonical[$lg['id']] : null, + 'meta_title' => $meta_title[$lg['id']] ? $meta_title[$lg['id']] : null, + 'xml_name' => $xml_name[$lg['id']] ? $xml_name[$lg['id']] : null, + 'security_information' => $security_information[$lg['id']] ? $security_information[$lg['id']] : null, ], [ 'id' => $translation_id ] ); @@ -1059,24 +1062,25 @@ class ShopProduct else { $mdb -> insert( 'pp_shop_products_langs', [ - 'product_id' => (int)$product_id, - 'lang_id' => $key, - 'name' => '' !== $name[$key] ? $name[$key] : null, - 'short_description' => '' !== $short_description[$key] ? $short_description[$key] : null, - 'description' => '' !== $description[$key] ? $description[$key] : null, - 'meta_description' => '' !== $meta_description[$key] ? $meta_description[$key] : null, - 'meta_keywords' => '' !== $meta_keywords[$key] ? $meta_keywords[$key] : null, - 'seo_link' => '' !== \S::seo($seo_link[$key]) ? \S::seo($seo_link[$key]) : null, - 'copy_from' => '' !== $copy_from[$key] ? $copy_from[$key] : null, - 'warehouse_message_zero' => '' !== $warehouse_message_zero[$key] ? $warehouse_message_zero[$key] : null, - 'warehouse_message_nonzero' => '' !== $warehouse_message_nonzero[$key] ? $warehouse_message_nonzero[$key] : null, - 'tab_name_1' => '' !== $tab_name_1[$key] ? $tab_name_1[$key] : null, - 'tab_description_1' => '' !== $tab_description_1[$key] ? $tab_description_1[$key] : null, - 'tab_name_2' => '' !== $tab_name_2[$key] ? $tab_name_2[$key] : null, - 'tab_description_2' => '' !== $tab_description_2[$key] ? $tab_description_2[$key] : null, - 'canonical' => '' !== $canonical[$key] ? $canonical[$key] : null, - 'meta_title' => '' !== $meta_title[$key] ? $meta_title[$key] : null, - 'xml_name' => '' !== $xml_name[$key] ? $xml_name[$key] : null, + 'product_id' => (int) $product_id, + 'lang_id' => $lg['id'], + 'name' => $name[$lg['id']] ? $name[$lg['id']] : null, + 'short_description' => $short_description[$lg['id']] ? $short_description[$lg['id']] : null, + 'description' => $description[$lg['id']] ? $description[$lg['id']] : null, + 'meta_description' => $meta_description[$lg['id']] ? $meta_description[$lg['id']] : null, + 'meta_keywords' => $meta_keywords[$lg['id']] ? $meta_keywords[$lg['id']] : null, + 'seo_link' => $seo_link[$lg['id']] ? \S::seo($seo_link[$lg['id']]) : null, + 'copy_from' => $copy_from[$lg['id']] ? $copy_from[$lg['id']] : null, + 'warehouse_message_zero' => $warehouse_message_zero[$lg['id']] ? $warehouse_message_zero[$lg['id']] : null, + 'warehouse_message_nonzero' => $warehouse_message_nonzero[$lg['id']] ? $warehouse_message_nonzero[$lg['id']] : null, + 'tab_name_1' => $tab_name_1[$lg['id']] ? $tab_name_1[$lg['id']] : null, + 'tab_description_1' => $tab_description_1[$lg['id']] ? $tab_description_1[$lg['id']] : null, + 'tab_name_2' => $tab_name_2[$lg['id']] ? $tab_name_2[$lg['id']] : null, + 'tab_description_2' => $tab_description_2[$lg['id']] ? $tab_description_2[$lg['id']] : null, + 'canonical' => $canonical[$lg['id']] ? $canonical[$lg['id']] : null, + 'meta_title' => $meta_title[$lg['id']] ? $meta_title[$lg['id']] : null, + 'xml_name' => $xml_name[$lg['id']] ? $xml_name[$lg['id']] : null, + 'security_information' => $security_information[$lg['id']] ? $security_information[$lg['id']] : null, ] ); } } diff --git a/autoload/shop/class.Producer.php b/autoload/shop/class.Producer.php index 793a154..16315b9 100644 --- a/autoload/shop/class.Producer.php +++ b/autoload/shop/class.Producer.php @@ -14,6 +14,7 @@ class Producer implements \ArrayAccess foreach ( $rows as $row ) { $languages[ $row['lang_id'] ]['description'] = $row['description']; + $languages[ $row['lang_id'] ]['data'] = $row['data']; $languages[ $row['lang_id'] ]['meta_title'] = $row['meta_title']; } diff --git a/autoload/shop/class.Product.php b/autoload/shop/class.Product.php index 0a10bba..9bee37d 100644 --- a/autoload/shop/class.Product.php +++ b/autoload/shop/class.Product.php @@ -80,7 +80,13 @@ class Product implements \ArrayAccess } } - $this -> producer = $mdb -> get( 'pp_shop_producer', '*', [ 'id' => (int) $this -> producer_id ] ); + $producer = $mdb -> get( 'pp_shop_producer', '*', [ 'id' => (int) $this -> producer_id ] ); + $producer_languages = $mdb -> get( 'pp_shop_producer_lang', '*', [ 'AND' => [ 'producer_id' => (int) $this -> producer_id, 'lang_id' => $lang_id ] ] ); + $producer['description'] = $producer_languages['description']; + $producer['data'] = $producer_languages['data']; + $producer['meta_title'] = $producer_languages['meta_title']; + + $this -> producer = $producer; if ( $permutation_hash ) { diff --git a/templates/shop-product/_partial/product-custom-fields.php b/templates/shop-product/_partial/product-custom-fields.php index 123d017..f13a784 100644 --- a/templates/shop-product/_partial/product-custom-fields.php +++ b/templates/shop-product/_partial/product-custom-fields.php @@ -1,7 +1,7 @@ custom_fields ) ): foreach ( $this -> custom_fields as $custom_field ):?>
- : + *:
required> diff --git a/templates/shop-product/product.php b/templates/shop-product/product.php index eb97886..9339aae 100644 --- a/templates/shop-product/product.php +++ b/templates/shop-product/product.php @@ -145,6 +145,7 @@ +
@@ -188,6 +189,16 @@ })(window);
+
+ product['producer']['data'] ):?> +
Producent
+ product['producer']['data'];?> + + product['language']['security_information'] ):?> +
Informacje o bezpieczeństwie
+ product['language']['security_information'];?> + +
product -> language['tab_name_2'] ):?> diff --git a/templates_user/shop-product/product.php b/templates_user/shop-product/product.php index 2e040e7..6a6ec73 100644 --- a/templates_user/shop-product/product.php +++ b/templates_user/shop-product/product.php @@ -152,7 +152,7 @@
- product -> language['description'] or $this -> product -> language['tab_description_1'] or $this -> product -> language['tab_description_2'] ) : ?> + product -> language['description'] or $this -> product -> language['tab_description_1'] or $this -> product -> language['tab_description_2'] or $this -> product['producer'] ):?>
@@ -173,11 +173,29 @@ product -> language['tab_name_2'] ):?> - -
-

product -> language['tab_name_2'];?>

-
product -> language['tab_description_2'];?>
-
+ +
+

product -> language['tab_name_2'];?>

+ +
+ + + product['producer']['data'] or $this -> product['language']['security_information'] ):?> + +
+

Bezpieczeństwo

+ +