Sage 9 перезаписывает шаблоны Woocommerce

Я пытаюсь перезаписать файлы шаблонов Woocommerce новым WordPress Sage. Моя проблема в том, что новая версия Sage с расширением blade-сервера не распознает старые файлы шаблонов Woocommerce.

Раньше я копировал шаблоны Woocommerce в папку с темой, чтобы перезаписывать шаблоны, которые всегда работали, но после выхода нового Sage 9 это больше не работает.

Это версия Sage, которую я использую: https://github.com/roots/sage (9)

Это версия Woocommerce, которую я использую: https://github.com/woocommerce/woocommerce (3.3.4)

0

Решение

Ты можешь проверить https://github.com/mtx-z/Sage9-Woocommerce-Integration, до Sage 9.0.1, Woocommerce 3.4.3 (это моё).

Я использую его для использования функций Sage с темой, совместимой с Woocommerce.

1

Другие решения

Во-первых, попробуйте положить его в resources/woocommerce,

Если это не сработает, вам может потребоваться вручную зарегистрировать путь к шаблону с лопасть:

Добавьте следующий код в Приложение / filters.php и обновите его, указав путь к WooCommerce (resources/views/woocommerce/{your-template}.php) соответственно.

Комплименты @mmirus в Корни форумов по схожему вопросу я разместил там.

Отказ от ответственности: Я еще не проверял это и буду на этой неделе. Но теория регистрации его в Blade верна.

Полезные ссылки по теме:

0

В вашем sage_theme / приложение / setup.php добавление файла:
add_theme_support('woocommerce'); с вашей почвой тема поддерживает.

В вашем sage_theme / ресурсы / виды папка создать woocommerce.blade.php файл. Добавьте следующий код в этот новый файл:

@php if ( !defined( 'ABSPATH' ) ) { exit; } @endphp

@extends( 'layouts.app' )

@section( 'content' )
@if ( is_product() ) {{-- if single product --}}
@php
/**
* woocommerce_before_main_content hook.
*
* @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
* @hooked woocommerce_breadcrumb - 20
*/
do_action( 'woocommerce_before_main_content' );
@endphp

@while ( have_posts() ) @php the_post(); @endphp

@php wc_get_template_part( 'content', 'single-product' ); @endphp

@endwhile

@php
/**
* woocommerce_after_main_content hook.
*
* @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content)
*/
do_action( 'woocommerce_after_main_content' );
@endphp
@else {{-- if product archive (any) --}}
@if ( woocommerce_product_loop() )

@php
/**
* Hook: woocommerce_before_shop_loop.
*
* @hooked woocommerce_output_all_notices - 10
* @hooked woocommerce_result_count - 20
* @hooked woocommerce_catalog_ordering - 30
*/
do_action( 'woocommerce_before_shop_loop' );

woocommerce_product_loop_start();
@endphp

@if ( wc_get_loop_prop( 'total' ) )
@while ( have_posts() ) @php the_post(); @endphp

@php
/**
* Hook: woocommerce_shop_loop.
*
* @hooked WC_Structured_Data::generate_product_data() - 10
*/
do_action( 'woocommerce_shop_loop' );

wc_get_template_part( 'content', 'product' );
@endphp
@endwhile
@endif

@php
woocommerce_product_loop_end();

/**
* Hook: woocommerce_after_shop_loop.
*
* @hooked woocommerce_pagination - 10
*/
do_action( 'woocommerce_after_shop_loop' );
@endphp
@else
@php
/**
* Hook: woocommerce_no_products_found.
*
* @hooked wc_no_products_found - 10
*/
do_action( 'woocommerce_no_products_found' );
@endphp
@endif
@endif
@endsection

Создайте новую папку в вашем sage_theme / ресурсы / папка называется WooCommerce. В этой папке вам нужно два файла, архив-product.php а также одного product.php. Оба этих файла должны иметь: <?php echo App\Template('woocommerce'); ?> в них.

Теперь ты в порядке.

Весь трафик Woo будет проходить через sage_theme / ресурсы / виды / woocommerce.blade.php страница, которая затем подталкивает их к sage_theme / ресурсы / WooCommerce папка, в которой вы можете перезаписать файлы шаблона Woo, как обычно.

Если вам нужно отредактировать что-то, что обычно находится в архив-product.php или же одного product.php вы будете делать это в sage_theme / ресурсы / виды / woocommerce.blade.php файл.

Там может быть способ, в sage_theme / ресурсы / WooCommerce / архив-product.php а также sage_theme / ресурсы / WooCommerce / одного product.php ссылаться на отдельные файлы вместо того же woocommerce.blade.php файл, но я еще не успел его опробовать.

0
По вопросам рекламы [email protected]