
Спрашивали - отвечаем: о переделке шаблонов Wordpress и WooCommerce
Ответ на вопрос о сложности переноса шаблона сайта с Wordpress на Impera CMS.
Gamitoy спрашивал Понравилась Ваша система, хотели бы перейти на неё с Wordpress. Вопрос теперь в переносе шаблона. Наш девелопер может сделать сам и насколько это сложно?
Всё зависит от того, какой шаблон использован на вашем сайте и есть ли в нём нестандартные доработки. Во множестве случаев покупные темы как Wordpress, так и WooCommerce представляют собой слегка изменённые клоны дефолтного шаблона, так что миграция темы из системы в систему происходит достаточно легко. Нужно лишь знать особенности той и другой систем, в основном в части устройства шаблонов.
Поскольку базовые принципы строения шаблонов примерно одинаковые во всех движках и отличаются лишь способами записи кода, именами функций, переменных, их структурой, то обычно перенос шаблона выполняется переписыванием его файлов в той нотации, что присуща конечной системе.
Скажу прямо, если ваш девелопер хорошо разбирается в устройстве шаблонов WordPress / WooCommerce, ему будет легко портировать вашу тему в шаблон Impera CMS, отличающийся простыми схемами записи кода.
Пример кода из шаблона для WooCommerce
«?php get_header(); ?»
«div class="page-title"»
«div class="container"»
«h1»«?php echo get_the_title(); ?»«/h1»
«/div»
«/div»
«section class="container"»
«main id="main" class="site-main"»
«?php
while ( have_posts() ) : the_post();
get_template_part( 'content', 'page' );
if ( my_theme_option( 'my_page_comments' ) ) {
if ( comments_open() || '0' != get_comments_number() ) :
comments_template();
endif;
}
endwhile;
?»
«/main»
«?php get_sidebar(); ?»
«/section»
«?php get_footer(); ?»
Тот же код в шаблоне Impera CMS
«div class="page-title"»
«div class="container"»
«h1»{title}«/h1»
«/div»
«/div»
«section class="container"»
«main id="main" class="site-main"»
{foreach $products as $item}
{include 'content-page.htm'}
{if !empty($item-»commented)}
{include 'comments.htm'}
{/if}
{/foreach}
«/main»
{include 'sidebar.htm'}
«/section»