[QUOTE]
Дмитрий Дмитрук написал:
Может я что то не понимаю? Я нажимаю кнопку "протестировать решение" и любые решения у меня устанавливаются в отдельную папку такого типа site_cf
Может я не ту кнопку нажимаю? Что значит "протестировать"? Может есть установка решения а не тестирование? И тогда оно будет устанавливать сайт на главную страницу (в корень) сайта?[/QUOTE]
Да, вы что-то не понимаете.
Кнопка "протестировать решение" запускает мастер установки сайта с выбором установки "новый сайт" (т.е. пропускает шаг выбора в какой сайт произойдёт установка). Это вообще к мастеру не относится.
Попробую объяснить то, что вам следовало бы изучить и посмотреть самостоятельно.
Заходим в [URL=https://github.com/lexnekr/bitrix_example_for_marketplace/blob/3e9ff5947d8e36f646cd29da19c085d31e04364f/.last_version/install/wizards/coffeediz/Start_Bootstrap_Landing_Page/wizard.php]https://github.com/lexnekr/bitrix_example_for_marketplace/blob/3e9ff5947d8e36f646cd29da19c085d31e04364f/.last_version/install/wizards/coffeediz/Start_Bootstrap_Landing_Page/wizard.php[/URL] (/.last_version/install/wizards/coffeediz/Start_Bootstrap_Landing_Page/wizard.php)
смотрим класс:[CODE]class SelectSiteStep extends CSelectSiteWizardStep
{
function InitStep()
{
parent::InitStep();
$wizard =& $this->GetWizard();
$wizard->solutionName = "Start_Bootstrap_Landing_Page";
$this->SetNextStep("site_settings");
}
}
[/CODE]
Мы в этом шаге наследуемся от системного класса CSelectSiteWizardStep. Поэтому никаких настроек нет. Этот шаг выводит шаг "Выбор сайта":
При этом сам этот код ещё ничего не изменяет в системе! он просто принимает от пользователя данные и временно хранит их в памяти для дальнейших шагов мастера установки!
Если дальше в этом же мастере вы посмотрите на класс:[CODE]class DataInstallStep extends CDataInstallWizardStep
{
}
[/CODE]
То поймёте, что именно он запускает УСТАНОВКУ сайта. Причём он опять же наследуется от системного класса, я ничего не мудрю.
Что этот системный класс делает?
Если кратко, то он идёт в /.last_version/install/wizards/coffeediz/Start_Bootstrap_Landi
ng_Page/site/services/.services.php и смотрит список скриптов для установки. Выполняет он их прямо по очереди. Если какого-то файла из списка нет, то просто пропускает. Если какой-то файл содержит ошибки падает с ошибкой и предлагает пропустить шаг.
Что интересного мы тут видим?
Первый же файл - files.php
Идём смотреть /.last_version/install/wizards/coffeediz/Start_Bootstrap_Landi
ng_Page/site/services/main/files.php
Видим использование интересной php функции CopyDirFiles. Думаю нет смысла объяснять что она делает?
Касательно вопроса КУДА она это делает обратите внимание на константу WIZARD_SITE_PATH - она была установлена в зависимости от выбора пользователя на шаге 1 "Выбор сайта". [I]Естественно, если вы выбрали из публичного интерфейса кнопку "тестировать решение", то битрикс ответил на вопрос выбора сайта за вас и у вас там какое-нибудь значение вроде /u00/www/site/site_cf/.[/I]
Собственно этот файл описывает процесс копирования файлов публичной части.
Если вы отправитесь в дальнейшее путешествие по моему примеру, то увидите и как происходит копирование шаблона.
Я специально дал ссылку на статью где происходит только создание сайта, копирование файлов публички и шаблона (без инфоблоков и прочего сложного функционала), чтобы новичок мог разобраться. Просто идите последовательно по моему мастеру - он очень прост.