Adobe Muse и WordPress. Шаг 3

Шаг третий содержит описание кода сборщика шаблона.

Сборщик (/tpl/php/tmp.php) имеет следующий код:

$path = 'tmp1';
$filepath = $_SERVER['DOCUMENT_ROOT']."/tpl/$path/";

$i = 1;
foreach(glob($filepath . '*.html') as $file) {
$file = str_replace($filepath, "", $file);
regen($path,$file, $i);
$i++;
}

function regen($path,$filename, $i){

$replaces = array(
'/rel=\"shortcut icon\" href=\"images\//' => 'rel="shortcut icon" href="/tpl/'.$path.'/images/',
'/\/wp_logout_url/' => '',
'/%type%/' => '',
'/%title_replace%<\/title>/' => '',
'/{baseUrl:\"\"}/' => '{baseUrl:"/tpl/'.$path.'"}',
'/data-main=\"scripts/' => 'data-main="/tpl/'.$path.'/scripts',
'/http:\/\/#/' => '#',
'/%title%<\/title>/' => '',
'/src=\"images/' => 'src="/tpl/'.$path.'/images',
'/src=\"images/' => 'src="/tpl/'.$path.'/images',
'/src=\"scripts/' => 'src="/tpl/'.$path.'/scripts',
'/href=\"css/' => 'href="/tpl/'.$path.'/css'

);
$filename_and_path = $_SERVER['DOCUMENT_ROOT'].'/tpl/'.$path.'/'.$filename;

$file = file($filename_and_path);
if (is_array($file)){
foreach ($replaces as $replace_key => $replace_value) {
foreach($file as $key=>$value){
$file[$key]= preg_replace($replace_key, $replace_value, $value);
}
}
}
else{
"Error open file";
exit (0);
}

$filename_and_path = $_SERVER['DOCUMENT_ROOT'].'/tpl/html/'.$filename.'.php';
$fp = fopen($filename_and_path, "w");
fwrite($fp,implode("",$file));
fclose($fp);
echo "success$i";

}

 

Этот код берет все файлы из папки шаблона, прогоняет каждый файл через регулярные выражения и складывает в папку с для последующих инклюдов из темы WordPress.

Допустим, нам нужно подключить шаблон для всех страниц по умолчанию. Создаем (или открываем) файл page.php в твоей теме и пишем следующее:

include_once $_SERVER['DOCUMENT_ROOT'].'/tpl/html/tmp_default_2017_02_03.html.php';

Готово. Твои страницы будут выводится в созданный шаблон. Файлы инклюдятся и в PHP-файл page.php и все функции и операторы, которые ты поместил в произвольные блоки HTML внутри проекта Adobe Muse, будут работать. 

ОБНОВЛЕНИЕ от 22.06.2017: записан скринкаст связки Adobe Muse и CMS WordPress

Комментарии 16

  • […] Шаблон, готов, экспорт по FTP на сайт сделан. Далее идем к написанию сборщика в шаге 3. […]

  • Добрый день!
    Если я переведу сайт созданный на Adobe Muse в WordPress я смогу работать полноценно в нем? Дело в том что я хочу поставить в WordPress модуль интернет-магазина WooCommers. Купил MusexPress, установил модуль WooCommers, меня все устраивает, но есть очень существенная проблема нет реализации фильтра по товарам. Перепробовал все плагины, но проблему это не решило.

    • Добрый день!
      Да, сможете полноценно работать. Тут важно понимать, что WordPress — это логика, а Adobe Muse — представление это логики.
      В Muse Вы делаете верстку, из которой делаете тему.

      • Спасибо! Это я понимаю, если вас не затруднит перейдите на сайт zarski-style.ru. Я Полностью смогу шапку и подвал перенести с WordPress без потери чего-либо?
        Спасибо!

  • ЗДравствуйте!
    Не получается 🙂
    После нажатия на кнопку с ссылкой
    . . ./tpl/php/tmp.php
    выскакивает
    $path = ‘tmp1’; $filepath = $_SERVER[‘DOCUMENT_ROOT’].»/tpl/$path/»; $i = 1; foreach(glob($filepath . ‘*.html’) as $file) { $file = str_replace($filepath, «», $file); regen($path,$file, $i); $i++; } function regen($path,$filename, $i){ $replaces = array( ‘/rel=\»shortcut icon\» href=\»images\//’ => ‘rel=»shortcut icon» href=»/tpl/’.$path.’/images/’, ‘/\/wp_logout_url/’ => ‘

  • Андрей, добрый день.
    Тема очень интересна, переноса созданного сайта на Вордпресс, чтобы можно было вести блог, и создавать интернет-магазин.
    Интересует вопрос. Выполнив эти три шага какие Вы описали, можно полноценно перенести сайт созданный на Мьюзе в Вордпресс и там управлять сайтом?
    Не записывали видео по полной интеграции этих процессов?

    • Добрый день, Максим!
      Да, можно перенести сайт на Мьюз в Вордпресс. И там им управлять 🙂
      Тут, конечно, есть свои нюансы, так как я описал идею с примером реализации. В Вашем конкретном случае может понадобиться что-то еще.
      Пример. У Вас есть страница в Мьюзе с интернет-магазином. Каждый товар там закреплен статично, на своем месте. Количество их также определено. При добавлении нового товара нужно остальные сдвигать. Вы решили привязать страницу Мьюза к Вордпрессу с Вукомерсом, используя три шага. В Мьюзе Вы можете просто назначить переход по клику по товару на страницу добавления в корзину. Это без проблем. Но если Вам нужно добавить новый товар, то тут будут нюансы. Либо нужно добавлять вручную через Мьюз, сдвигая другие карточки, а потом переэкспортировать шаблон, либо описывать отдельно руками в верстке (HTML+CSS+PHP) правила вывода карточек в автоматическом режиме.
      Мьюз дает готовую HTML-верстку, но всю автоматику, возможно, потребуется доделывать или настраивать. Пример такой настройки состоит в том, как мы выводим контент: определеяем область в Мьюзе и назначаем функцию PHP.
      Видео не записывал, но Вы уже второй человек, кто по этому поводу интересовался. Возможно, скоро запишу.

  • Приветствую Максим! Действительно видео по теме было бы прекрасным дополнением. Полдня танцев с бубнами так ни к чему не привели. В первом шаге этой темы перепутаны папки, например, написано /tpl/tmp_1/images/ — папка со скриптами , а , скорее всего, должно быть папка с картинками и тп. На шаге 3 написано вначале кода $path = ‘tmp1’; — это правильно или должно быть ‘tmp_1’ с нижним подчеркиванием как в шаге 1 ? Почему в коде 3 шага 2 раза подряд написано ‘/src=\»images/’ => ‘src=»/tpl/’.$path.’/images’, ? Шаг 2 вообще не понятен. Большая просьба — сделайте подробное видео по теме, очень надо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *