Шаг третий содержит описание кода сборщика шаблона.
Сборщик (/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
[…] Шаблон, готов, экспорт по FTP на сайт сделан. Далее идем к написанию сборщика в шаге 3. […]
Добрый день!
Если я переведу сайт созданный на Adobe Muse в WordPress я смогу работать полноценно в нем? Дело в том что я хочу поставить в WordPress модуль интернет-магазина WooCommers. Купил MusexPress, установил модуль WooCommers, меня все устраивает, но есть очень существенная проблема нет реализации фильтра по товарам. Перепробовал все плагины, но проблему это не решило.
Добрый день!
Да, сможете полноценно работать. Тут важно понимать, что WordPress — это логика, а Adobe Muse — представление это логики.
В Muse Вы делаете верстку, из которой делаете тему.
Спасибо! Это я понимаю, если вас не затруднит перейдите на сайт zarski-style.ru. Я Полностью смогу шапку и подвал перенести с WordPress без потери чего-либо?
Спасибо!
Посмотрел. Конечно, 100% сказать сложно, но не думаю, что будут особые проблемы с переносом.
Спасибо!
ЗДравствуйте!
Не получается 🙂
После нажатия на кнопку с ссылкой
. . ./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/’ => ‘
Здравствуйте, Владимир!
У Вас есть в начале файла открывающий дескриптор PHP?
Должно быть вот так?
«»
В начале любого PHP-файла нужно поставить открывающий дескриптор
Страницы должны автоматически генерироваться в папке html ???
Если всё настроено верно, то да.
Андрей, добрый день.
Тема очень интересна, переноса созданного сайта на Вордпресс, чтобы можно было вести блог, и создавать интернет-магазин.
Интересует вопрос. Выполнив эти три шага какие Вы описали, можно полноценно перенести сайт созданный на Мьюзе в Вордпресс и там управлять сайтом?
Не записывали видео по полной интеграции этих процессов?
Добрый день, Максим!
Да, можно перенести сайт на Мьюз в Вордпресс. И там им управлять 🙂
Тут, конечно, есть свои нюансы, так как я описал идею с примером реализации. В Вашем конкретном случае может понадобиться что-то еще.
Пример. У Вас есть страница в Мьюзе с интернет-магазином. Каждый товар там закреплен статично, на своем месте. Количество их также определено. При добавлении нового товара нужно остальные сдвигать. Вы решили привязать страницу Мьюза к Вордпрессу с Вукомерсом, используя три шага. В Мьюзе Вы можете просто назначить переход по клику по товару на страницу добавления в корзину. Это без проблем. Но если Вам нужно добавить новый товар, то тут будут нюансы. Либо нужно добавлять вручную через Мьюз, сдвигая другие карточки, а потом переэкспортировать шаблон, либо описывать отдельно руками в верстке (HTML+CSS+PHP) правила вывода карточек в автоматическом режиме.
Мьюз дает готовую HTML-верстку, но всю автоматику, возможно, потребуется доделывать или настраивать. Пример такой настройки состоит в том, как мы выводим контент: определеяем область в Мьюзе и назначаем функцию PHP.
Видео не записывал, но Вы уже второй человек, кто по этому поводу интересовался. Возможно, скоро запишу.
Приветствую Максим! Действительно видео по теме было бы прекрасным дополнением. Полдня танцев с бубнами так ни к чему не привели. В первом шаге этой темы перепутаны папки, например, написано /tpl/tmp_1/images/ — папка со скриптами , а , скорее всего, должно быть папка с картинками и тп. На шаге 3 написано вначале кода $path = ‘tmp1’; — это правильно или должно быть ‘tmp_1’ с нижним подчеркиванием как в шаге 1 ? Почему в коде 3 шага 2 раза подряд написано ‘/src=\»images/’ => ‘src=»/tpl/’.$path.’/images’, ? Шаг 2 вообще не понятен. Большая просьба — сделайте подробное видео по теме, очень надо.