Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Прикрепить сделанный сайт к новому хостингу

Автор adminРаздел Настройка системы и модулей

Ответов: 7
Просмотров: 6838
Последний ответ 27 Декабря 2010, 23:37:42
от Madalet
Как закрыть сайт для пользователя на период разработки?

Автор sergeronРаздел Настройка системы и модулей

Ответов: 2
Просмотров: 3475
Последний ответ 21 Декабря 2012, 21:39:28
от Vladimir
Возможно ли добавить на сайт слайдшоу?

Автор ScrobotРаздел Разработка модулей

Ответов: 3
Просмотров: 6583
Последний ответ 14 Ноября 2011, 08:54:23
от admin
Импорт товаров на сайт в формате YML

Автор s.kirillРаздел Custom макросы

Ответов: 1
Просмотров: 1561
Последний ответ 06 Сентября 2016, 20:56:45
от aghigay
Сайт только для зарегистрированных

Автор BaceHРаздел Настройка системы и модулей

Ответов: 1
Просмотров: 1866
Последний ответ 06 Декабря 2011, 20:53:38
от admin

0 Пользователей и 1 Гость просматривают эту тему.

*

umi_salesup

  • *
  • 2
  • +0/-0
    • Просмотр профиля
Добрый день!

У меня UMI.CMS Business 2.8.4.3 и есть сайт на ней.
Сам сайт (Сайт А) был изначально создан на юми.ру, потом была приобретена коробка и сайт перевезли на свой хостинг.

Есть необходимость сделать на этой же лицензии второй такой же сайт (Сайт Б) с отдельным доменом, на этом же шаблоне, с таким же дизайном (но, хотелось бы свой CSS, чтобы изменить цвета шрифтов, цвет элементов навигации и т.д.), названия разделов и контент будут другими. Надеюсь, объяснил понятно  :)

1. Сделал так — http://wiki.umisoft.ru/Мультисайтовость
2. Сделал так — http://help.docs.umi-cms.ru/rabota_s_modulyami/modul_struktura/nastrojki_modulya_struktura/upravlenie_shablonami/

У сайта А шаблон называется Common.xsl и лежит в /xsltTpls
Для сайта Б в настройках модуля «Управление структурой» тоже указал Common.xsl (мне кажется это логичным, если я хочу сделать клон с таким же дизайном) — пробовал делать копию с именем Common2.xsl и ссылаться в настройках на нее, но эфект тот же.

В итоге, сайт Б появился, но:

1. Я не могу создать главную страницу. Т.е. создаю страницу из админки, она появляется и в админке и на сайте, отображается в меню, но не является главной. Вместо главной у меня «Страница не найдена» (не 404, а стандартная страница UMI.CMS).

2. У сайта А в шаблоне есть поля в шапке сайта и футере, редактирование которых было доступно через Edit-in-Place в режиме редактирования. Сайт Б утратил такую возможность и поля не отображаются вообще.

3. Если все таки удастся победить п.1 и п.2 — как при мультисайтовости реализовать разные файлы стилей для сайтов А и Б?

Спасибо.
   



*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
В итоге, сайт Б появился, но:

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.

*

umi_salesup

  • *
  • 2
  • +0/-0
    • Просмотр профиля
Цитировать
1. Все должно работать по этому, предположу две возмжных причины данной проблемы:
   - у вас не стоит галочка "Страница по умолчанию" у главной страницы в "сайте Б"
   - у вас в xslt шаблоне вывод главной страницы завязан с id страницы (которая находиться на сайте А). P.S. вторая причины выглядит притянутой за уши, но все же, стоит проверить

2. возможно, предыдущий пункт не причем и проблема только в том, что для глобальных настроек система в основном шаблоне (скорее всего variables.xsl) обращается к страницам по их alt-name или по id типам данных, для того чтобы выводить необходимые данные (в том числе контактные данные, которые вы редактировали через EiP) и не найдя их выдает umi'ивскую 404 страницу. А так как вы используете шаблон на новом сайте, а копии страниц у на сайт Б вы скорее всего не делали (или у них были привязки которые поменялись при копировании страниц в структуре) , то шаблон не работает так как вы ожидаете.

Активация опции "Страница по умолчанию" действительно решила проблему с главной страницей, спасибо!

variables.xsl у меня начинается примерно так:

   <xsl:variable name="templateVersion" select="100" />

   <xsl:variable name="infoPageTypeId" select="819" />
   <xsl:variable name="blogPostPageTypeId" select="748" />
   <xsl:variable name="sharedFileTypeId" select="702" />
   <xsl:variable name="albumPageTypeId" select="696" />
   <xsl:variable name="photoPageTypeId" select="697" />
   <xsl:variable name="commentsPageTypeId" select="651" />
   <xsl:variable name="newsItemPageTypeId" select="23" />
   <xsl:variable name="guestTypeId" select="4" />

Можно судя по этому листингу сказать, что проблема с EiP из-за «обращается к страницам по их alt-name или по id типам данных»
Допустим, в тот месте шапки, где через EiP можно было редактировать, например, название компании, сейчас стоит код:
<a umi:element-id="" umi:empty="Введите название компании" umi:field-name="imya_i_familiya" href="/"></a>

На сайте А, это же место имеет код и работает исправно:
<a umi:element-id="29" umi:empty="Введите название компании" umi:field-name="imya_i_familiya" href="/" class="u-eip-edit-box" title="Кликните для редактирования"></a>

т.е. видно, что куда-то пропал id 29

Цитировать
3. по хорошему, я бы предложил вам создать отдельный набор шаблонов, так как нет гарантии что со временем вы захотите поменять не только css? но html структуру корзины или т.п., но если отвечать на ваш вопрос и учитывать, что оба сайта пользуются одним шаблоном, то стоит сделать следующее. Создать какое-то условие (проверка переменной с доменом сайта) на уровне xslt шаблона (например xsl:choose конструкцией) в том месте где подключаются css стили и подключать разные css.

Тут мне нравится фраза «по хорошему» и «создать отдельный набор шаблонов», но как это сделать практически не очень представляю. У меня есть каталог /xsltTpls в котором лежит тот самый шаблон Common.xsl и каталоги /i18n, /layouts, /library, /modules, /sys-tpls — т.е. мне надо сделать еще один /xsltTpls? Но стили лежат совсем в другом месте — /css

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
У меня, к сожалению, нет пример xslt шаблонов "готового сайта umi", а то можно было бы быстро посмотреть, как там устроено.

Из того что я помню с последней работы с такими шаблонами, либо система ищет страницу настроек с определенным типом данных, либо система берет эту страницу настроек по конкретному id.

Проще всего, посмотреть в общем шаблоне шапку (в том месте где выводится EiP редактируемые блоки) откуда система выводит тот самый id.

Тут мне нравится фраза «по хорошему» и «создать отдельный набор шаблонов», но как это сделать практически не очень представляю. У меня есть каталог /xsltTpls в котором лежит тот самый шаблон Common.xsl и каталоги /i18n, /layouts, /library, /modules, /sys-tpls — т.е. мне надо сделать еще один /xsltTpls? Но стили лежат совсем в другом месте — /css

если в данной версии системы еще не работает Новый формат хранения шаблонов  ( а это можно проверить, зайдя в настройки любого шаблона [админка - модуль Структура - настройки модуля] и посмотрев есть ли там поле "имя шаблона")

Если есть создавайте новый шаблон копируйте туда все (см. ссылку выше, там написано что и как), если нет, то просто делаете так:
- копируете всю папку xsltTpls и переименовав её как вам нравится (например siteB) и помещаете её внутри xsltPls оригинального, то есть у вас получается такая структура /xsltTpls/siteB/
- в настройке шаблонов меняете путь к своему шаблону на новый путь (/xsltTpls/siteB/сommon.xsl)

В итоге, у вас получиться отдельный набор шаблонов, в котором вы сможете поменять любой html, в том числе код подключаемый css файлы (внутри head основного шаблона)

P.S. единственное, что не поменяется при копировании, это подключение к языковым сущностям. Языковые сущности подключаются в каждом файле, на самом верху. Выглядит это как -то так
<!DOCTYPE xsl:stylesheet SYSTEM	"ulang://i18n/constants.dtd:file">
.
То есть, несмотря на то, что вы скопировали папку i18n (в готовых сайтах, по-моему, тоже есть данная папка) в xsl файлах у вас все равно подключаются файлы из папки /xsltTpls/i18n, а не из новой, скопированной, папки /xsltTpls/siteB/i18n

« Последнее редактирование: 18 Мая 2014, 12:32:50 от admin »

*

masterdom-shop

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re: Мультисайтовость. Как создать второй сайт?
« Ответ #4 : 14 Октября 2015, 09:57:40 »
Добрый день ! У меня были такие же проблемы ! Все решил кроме одной. Захожу по FTP в основной сайт, но там отсутствует второй домен. Как мне менять на втором сайте шрифты, дизайн и т.д., если я не могу войти во второй сайт по FTP ?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re: Мультисайтовость. Как создать второй сайт?
« Ответ #5 : 14 Октября 2015, 11:12:22 »
Если вы используете мультисайтовость, то файлы самой CMS у вас одни и те же. А вот файлы шаблона (и соответственно css и js) должны быть разные. Для того, чтобы посмотреть какой шаблон используется на том или ином сайте воспользуйтесь информацией из докуменnации UMI.CMS

*

masterdom-shop

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re: Мультисайтовость. Как создать второй сайт?
« Ответ #6 : 14 Октября 2015, 12:51:02 »
Для того, чтобы посмотреть какой шаблон используется на том или ином сайте воспользуйтесь информацией из докуменnации UMI.CMS
Какой шаблон используется я знаю. На основном сайте чтобы изменить шапку и шрифты я заходил так: /home/login/domains/основной домен/public_html/css/decor.css
А вот как это сделать со вторым сайтом ?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re: Мультисайтовость. Как создать второй сайт?
« Ответ #7 : 15 Октября 2015, 15:13:44 »
Какой шаблон используется я знаю

Тогда вы можете в этом шаблоне посмотреть какие css подключаются.

P.S. Eсли посмотреть исходный код вашего сайта второго (впрочем и с первым это тоже будет работать), то вы увидите какие css подключаются и путь к ним.

*

masterdom-shop

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re: Мультисайтовость. Как создать второй сайт?
« Ответ #8 : 18 Октября 2015, 18:22:08 »
Вопрос в том как подключиться к второму сайту по ftp, чтобы эти css править ? по ftp доступ есть только к основному сайту, а к второму сайту нет !

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re: Мультисайтовость. Как создать второй сайт?
« Ответ #9 : 19 Октября 2015, 09:44:59 »
если у вас есть несколько сайтов работающих на одной лицензии UMI.CMS ,  это означает что шаблоны, css и прочие файлы всех этих сатов физически лежат в одном месте, там где установлена UMI.CMS. Соответственно, если у вас есть доступ к файлам UMI.CMS, на которой расположен первый сайт, то там же лежат файлы второго сайта.

*

masterdom-shop

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re: Мультисайтовость. Как создать второй сайт?
« Ответ #10 : 19 Октября 2015, 14:39:34 »
если у вас есть несколько сайтов работающих на одной лицензии UMI.CMS ,  это означает что шаблоны, css и прочие файлы всех этих сатов физически лежат в одном месте, там где установлена UMI.CMS. Соответственно, если у вас есть доступ к файлам UMI.CMS, на которой расположен первый сайт, то там же лежат файлы второго сайта.
Заходил по ftp на основной сайт, файлы второго сайта не нашел !

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re: Мультисайтовость. Как создать второй сайт?
« Ответ #11 : 19 Октября 2015, 15:43:51 »
Давайте разбираться по шагам. Как я вижу ситуацию.

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 файлам, которые вам необходимо поправить


*

masterdom-shop

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re: Мультисайтовость. Как создать второй сайт?
« Ответ #12 : 21 Октября 2015, 10:44:12 »
Давайте разбираться по шагам. Как я вижу ситуацию.

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 файлам, которые вам необходимо поправить


В админке есть основной сайт и второй.
В настройке модуля "Структура" есть шаблон для основного сайта - common.xsl, такой же у второго.
В коде основного сайта есть путь вот такой: http://masterdom-shop.ru/css/decor.css?102,
В коде второго сайта есть такой путь: http://dom-mebeli54.ru/css/decor.css?102
Но по FTP его нет ! Единственное где я нашел папку с названием второго сайта это по FTP в папке "imap" есть пустая папка с названием второго сайта и папка с названием основного сайта в корой лежат какие-то файлы.
А в админке управления хостингом в разделе управления основным сайтом второй сайт выглядит так:
Сайт
masterdom-shop.ru
 А: dom-mebeli54.ru
Второй сайт добавлялся к осовному как алиас так было сказано сделать в инструкции мультисайтовости на umi.cms
В папках: "domains" и "public_html" есть только папка с основным сайтом.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re: Мультисайтовость. Как создать второй сайт?
« Ответ #13 : 01 Января 2016, 03:37:41 »
- Когда вы делаете несколько сайтов на одной лицензии, то вы направляете несколько доменов на одну и туже папку с файлами UMI.CMS (что у вас и происходит)
- В самой UMI есть некоторое разделени, благодоря чему вы видите 2 разных сайта, с разными старницами и разными шаблонами
- но вот шаблоны (даже и разные в настрйоках модуля "Структура") вполне спокойно могут обращаться к одному и томуже файлу шаблона
- как следствие этот файл шаблона подключает одни и теже css файлы
- как следствие, любое изменение файлов шаблона или css файла который используется в этом шаблоне применится ко всем сайтам использующим данный файл шаблона

Решения:
Вариант 1 - сделать разные файлы шаблонов
- сделать копию шаблонов первого сайта,
- перенести их другое место
- в настройках модуля "Структура" назначит шаблону второго сайта, эту копию

Вариант 2 - сделать какую-то проверку (например через xsl:choose) в файле шаблона на домен/ Для этого можно воспользоваться тем, что у каждой страницы, в xml виде, есть атрибут  domain у узла result. Но учтите, что при некоторых настройках config.ini у вас может один и тот же домен может выглядеть по разному, например www.site.ru и site.ru

*

masterdom-shop

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re: Мультисайтовость. Как создать второй сайт?
« Ответ #14 : 01 Февраля 2016, 10:02:44 »
- Когда вы делаете несколько сайтов на одной лицензии, то вы направляете несколько доменов на одну и туже папку с файлами UMI.CMS (что у вас и происходит)
- В самой UMI есть некоторое разделени, благодоря чему вы видите 2 разных сайта, с разными старницами и разными шаблонами
- но вот шаблоны (даже и разные в настрйоках модуля "Структура") вполне спокойно могут обращаться к одному и томуже файлу шаблона
- как следствие этот файл шаблона подключает одни и теже css файлы
- как следствие, любое изменение файлов шаблона или css файла который используется в этом шаблоне применится ко всем сайтам использующим данный файл шаблона

Решения:
Вариант 1 - сделать разные файлы шаблонов
- сделать копию шаблонов первого сайта,
- перенести их другое место
- в настройках модуля "Структура" назначит шаблону второго сайта, эту копию

Вариант 2 - сделать какую-то проверку (например через xsl:choose) в файле шаблона на домен/ Для этого можно воспользоваться тем, что у каждой страницы, в xml виде, есть атрибут  domain у узла result. Но учтите, что при некоторых настройках config.ini у вас может один и тот же домен может выглядеть по разному, например www.site.ru и site.ru
Сделал Вариант 1, Вариант 2 пока не знаю как сделать ! Что должно измениться после того как я сделал Вариант 1 ?