В итоге, сайт Б появился, но:
1. Я не могу создать главную страницу. Т.е. создаю страницу из админки, она появляется и в админке и на сайте, отображается в меню, но не является главной. Вместо главной у меня «Страница не найдена» (не 404, а стандартная страница UMI.CMS).
2. У сайта А в шаблоне есть поля в шапке сайта и футере, редактирование которых было доступно через Edit-in-Place в режиме редактирования. Сайт Б утратил такую возможность и поля не отображаются вообще.
3. Если все таки удастся победить п.1 и п.2 — как при мультисайтовости реализовать разные файлы стилей для сайтов А и Б?
1. Все должно работать по этому, предположу две возмжных причины данной проблемы:
- у вас не стоит галочка "Страница по умолчанию" у главной страницы в "сайте Б"
- у вас в xslt шаблоне вывод главной страницы завязан с id страницы (которая находиться на сайте А). P.S. вторая причины выглядит притянутой за уши, но все же, стоит проверить
2. возможно, предыдущий пункт не причем и проблема только в том, что для глобальных настроек система в основном шаблоне (скорее всего variables.xsl) обращается к страницам по их alt-name или по id типам данных, для того чтобы выводить необходимые данные (в том числе контактные данные, которые вы редактировали через EiP) и не найдя их выдает umi'ивскую 404 страницу. А так как вы используете шаблон на новом сайте, а копии страниц у на сайт Б вы скорее всего не делали (или у них были привязки которые поменялись при копировании страниц в структуре) , то шаблон не работает так как вы ожидаете.
3. по хорошему, я бы предложил вам создать отдельный набор шаблонов, так как нет гарантии что со временем вы захотите поменять не только css? но html структуру корзины или т.п., но если отвечать на ваш вопрос и учитывать, что оба сайта пользуются одним шаблоном, то стоит сделать следующее. Создать какое-то условие (проверка переменной с доменом сайта) на уровне xslt шаблона (например xsl:choose конструкцией) в том месте где подключаются css стили и подключать разные css.
Тут мне нравится фраза «по хорошему» и «создать отдельный набор шаблонов», но как это сделать практически не очень представляю. У меня есть каталог /xsltTpls в котором лежит тот самый шаблон Common.xsl и каталоги /i18n, /layouts, /library, /modules, /sys-tpls — т.е. мне надо сделать еще один /xsltTpls? Но стили лежат совсем в другом месте — /css
<!DOCTYPE xsl:stylesheet SYSTEM "ulang://i18n/constants.dtd:file">
Для того, чтобы посмотреть какой шаблон используется на том или ином сайте воспользуйтесь информацией из докуменnации UMI.CMS (http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_struktura/nastrojki_modulya_struktura/upravlenie_shablonami/)Какой шаблон используется я знаю. На основном сайте чтобы изменить шапку и шрифты я заходил так: /home/login/domains/основной домен/public_html/css/decor.css
Какой шаблон используется я знаю
если у вас есть несколько сайтов работающих на одной лицензии UMI.CMS , это означает что шаблоны, css и прочие файлы всех этих сатов физически лежат в одном месте, там где установлена UMI.CMS. Соответственно, если у вас есть доступ к файлам UMI.CMS, на которой расположен первый сайт, то там же лежат файлы второго сайта.Заходил по ftp на основной сайт, файлы второго сайта не нашел !
Давайте разбираться по шагам. Как я вижу ситуацию.В админке есть основной сайт и второй.
1. У вас в админке UMI.CMS есть несколько сайтов
2. Зайдя в настройки модуля "Структура" вы увидите список шаблонов.
3. Там вы можете посмотреть название шаблона (оно может быть и пустым), тип шаблона и название файла (http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_struktura/nastrojki_modulya_struktura/upravlenie_shablonami/)
4. Определите путь к шаблонам первого и второго сайта (смотри статью http://dev.docs.umi-cms.ru/shablony_i_makrosy/novyj_format_hraneniya_shablonov/)
5. В данных шаблонах подключаются какие-то css и js
Напишите путь к данным файлам
P.S. или откройте код первого и второго сайта и там посмотрите путь к подключаемым css и js файлам, которые вам необходимо поправить
- Когда вы делаете несколько сайтов на одной лицензии, то вы направляете несколько доменов на одну и туже папку с файлами UMI.CMS (что у вас и происходит)Сделал Вариант 1, Вариант 2 пока не знаю как сделать ! Что должно измениться после того как я сделал Вариант 1 ?
- В самой UMI есть некоторое разделени, благодоря чему вы видите 2 разных сайта, с разными старницами и разными шаблонами
- но вот шаблоны (даже и разные в настрйоках модуля "Структура") вполне спокойно могут обращаться к одному и томуже файлу шаблона
- как следствие этот файл шаблона подключает одни и теже css файлы
- как следствие, любое изменение файлов шаблона или css файла который используется в этом шаблоне применится ко всем сайтам использующим данный файл шаблона
Решения:
Вариант 1 - сделать разные файлы шаблонов
- сделать копию шаблонов первого сайта,
- перенести их другое место
- в настройках модуля "Структура" назначит шаблону второго сайта, эту копию
Вариант 2 - сделать какую-то проверку (например через xsl:choose) в файле шаблона на домен/ Для этого можно воспользоваться тем, что у каждой страницы, в xml виде, есть атрибут domain у узла result. Но учтите, что при некоторых настройках config.ini у вас может один и тот же домен может выглядеть по разному, например www.site.ru и site.ru
- Когда вы делаете несколько сайтов на одной лицензии, то вы направляете несколько доменов на одну и туже папку с файлами UMI.CMS (что у вас и происходит)А копию шаблона нужно переименовывать или оставить как есть ? Потому что после того как я переименовал копию сайт 2 открылся с ошибкой:
- В самой UMI есть некоторое разделени, благодоря чему вы видите 2 разных сайта, с разными старницами и разными шаблонами
- но вот шаблоны (даже и разные в настрйоках модуля "Структура") вполне спокойно могут обращаться к одному и томуже файлу шаблона
- как следствие этот файл шаблона подключает одни и теже css файлы
- как следствие, любое изменение файлов шаблона или css файла который используется в этом шаблоне применится ко всем сайтам использующим данный файл шаблона
Решения:
Вариант 1 - сделать разные файлы шаблонов
- сделать копию шаблонов первого сайта,
- перенести их другое место
- в настройках модуля "Структура" назначит шаблону второго сайта, эту копию
Вариант 2 - сделать какую-то проверку (например через xsl:choose) в файле шаблона на домен/ Для этого можно воспользоваться тем, что у каждой страницы, в xml виде, есть атрибут domain у узла result. Но учтите, что при некоторых настройках config.ini у вас может один и тот же домен может выглядеть по разному, например www.site.ru и site.ru
рекомендую для начала ping - посмотреть что одинаковые IP отвечают на siteB.ru и сайтБ.рфПонял, что похоже нужно обратиться с хостеру.