Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Как загрузить?
Внимание, этот компонент требует версию PHP
5.6
или выше!
Если ваш сайт использует PHP ниже требуемого, установка этого
дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже
2.4
!
Приложение для синхронизации конфигурации 1С: Управление медицинским центром от компании «1 БИТ» и сайта на MODX REVOLUTION.
Сущетсвует 2 метода синхронизации через SOAP или через FTP.
Внимание!!! Для настройки требуется усилия как 1С программиста так и веб программистом так как настройки для синхронизации не стандартные (это не Ecommerce встроенная синхронизация с сайтом).
Синхронизируются:
Автоматически создаются на сайте категории, товары, страницы со специалистами и услугами которые оказывает специалист а так же график работы специалиста.
Для страниц категорий и специалистов, можно назначить родительский ресурс для разных клиник, так же задать шаблон для ресурса.
Клиники могут быть созданны в ручную или получены из 1С по протоколу SOAP
По этому вы можете сами создавать в ручную страницы с врачами и назначать им индитификаторы из 1С чтобы в дальнейшем можно было сделать заявку через форму записи на прием
Описание работы веб-сервисов и данных xml
Форма отправки заявок в 1С
Вывод списка категорий с услугами
Вывод списка специальносте с врачами
Страница врача
Сущетсвует 2 метода синхронизации через SOAP или через FTP.
Внимание!!! Для настройки требуется усилия как 1С программиста так и веб программистом так как настройки для синхронизации не стандартные (это не Ecommerce встроенная синхронизация с сайтом).
Синхронизируются:
- Клиники (можно синхронизировать несколько клиник)
- Группы наменклатуры (категории minishop)
- Наменклатура (товары minishop)
- Специалисты клиники со специальностями и услугугами
- График работ специалистов
Автоматически создаются на сайте категории, товары, страницы со специалистами и услугами которые оказывает специалист а так же график работы специалиста.
Для страниц категорий и специалистов, можно назначить родительский ресурс для разных клиник, так же задать шаблон для ресурса.
Клиники могут быть созданны в ручную или получены из 1С по протоколу SOAP
Создание и публикация ресурсов
В системных настройках предусмотрены параметры для ресурсов- Создавать ресурс Да/Нет
- Публиковать по умочанию Да/Нет
- Назначение шаблона для ресурса
Отправка заказа в 1С
После отправки заказа в 1С предусмотрена возможность отправить письмо с информацией о заявки на email пользователя менеджера указанного в настройках.Управление ресурсами
Для синхронизации используется поле:По этому вы можете сами создавать в ручную страницы с врачами и назначать им индитификаторы из 1С чтобы в дальнейшем можно было сделать заявку через форму записи на прием
Форма отправки заявки
На сайт синхронизируется график работ сотрудников а так же время свободного и занятого времениРабота через FTP
Для синхронизации необходимо создать клинику и настроить выгрузку каталогаcore/components/mc1c/temp
Работа через SOAP
Необходимо прописать ссылку, логин и пароль для соединения в системных настройках.Описание работы веб-сервисов и данных xml
Crontab
Установка crontab заданий для синхронизации 1С с сайтом// Задание для забора каталога услуги, специалистов и графика работ из 1С
core/components/mc1c/crontab/synccatalog.php
// Задание для отправки заявок в 1С
core/components/mc1c/crontab/syncorder.php
Форма отправки заявок в 1С
[[!mc1c]]
Вывод списка категорий с услугами
<div class="row">
<div class="col-md-4">
<h3>Категории</h3>
{$_modx->runSnippet('pdoMenu', [
'parents' => 11,
'where' => ['class_key' => 'msCategory'],
'depth' => 4,
'level' => 4,
'hideSubMenus' => 1,
'outerClass' => 'nav nav-pills flex-column',
'tplOuter' => '@INLINE <ul [[+classes]]>[[+wrapper]]</ul>',
'tpl' => '@INLINE <li class="nav-item"><a class="nav-link" href="[[+link]]">[[+menutitle]]</a>[[+wrapper]]</li>',
])}
</div>
<div class="col-md-8 mt-1">
<h1>{$modx->resource->pagetitle}</h1>
<div class="row justify-content-center ">
<div class="col-lg-11">
[[!msProducts?
&tpl=`tpl.mc1c.service.row`
]]
</div>
</div>
</div>
</div>
Вывод списка специальносте с врачами
<div class="three-colums abc-list">
<div class="d-flex pb-3">
<ul>
{$_modx->runSnippet('pdoResources', [
'parents' => 13,
'class' => 'modResource',
'depth' => 0,
'limit' => 35,
'sortby' => 'menuindex',
'sortdir' => 'ASC',
'tpl' => 'tpl.mc1c.specialization.row',
'includeTVs' => 'images',
'groupby' => 'Employee.specialization',
'where' => [
'modResource.isfolder' => 0,
'Employee.clinic:!=' => '00000000-0000-0000-0000-000000000000',
'Employee.specialization:!=' => ''
],
'select' => '{
"modResource":"*",
"Employee":"uid",
"Employee":"name as name",
"Employee":"specialization as specialization"
}',
'innerJoin' => '{
"Employee":{"class":"mc1cEmployee","on":"Employee.uid = modResource.link_attributes"}
}',
])}
<li><a href="{$modx->resource->id|url}">Все специалисты</a></li>
</ul>
</div>
</div>
{if !$.get.specialization}
{set $query = [
'modResource.isfolder' => 0,
'Employee.clinic:!=' => '00000000-0000-0000-0000-000000000000'
]}
{else}
{set $query = [
'modResource.isfolder' => 0,
'Employee.clinic:!=' => '00000000-0000-0000-0000-000000000000'
'Employee.specialization' => $.get.specialization
]}
{/if}
{$_modx->runSnippet('pdoResources', [
'parents' => $id,
'class' => 'modResource',
'depth' => 0,
'limit' => 35,
'sortby' => 'menuindex',
'sortdir' => 'ASC',
'tpl' => 'tpl.mc1c.doctor.row',
'includeTVs' => 'images',
'where' => $query,
'showLog' => 1,
'select' => '{
"modResource":"*",
"Employee":"uid"
}',
'innerJoin' => '{
"Employee":{"class":"mc1cEmployee","on":"Employee.uid = modResource.link_attributes"}
}',
])}
Страница врача
{set $employee = $modx->resource->employee}
<div class="row justify-content-center">
<div class="col-lg-4">
{set $images = $modx->resource->getTvValue('images')}
<img width="318px" height="318px" src="{if $images}{$images}{else}/assets/noneimages.png{/if}" alt="">
</div>
<div class="col-lg-8">
<h1>{$modx->resource->pagetitle}</h1>
Специальность: {$employee.specialization}
</div>
</div>
<hr>
{if count($employee.services) > 0}
<div class="row justify-content-center bg-light text-dark">
<div class="col-lg-11">
{foreach $employee.services as $key => $value}
<div class="row py-3 align-items-center justify-content-center">
<div class="col-lg-7">
<h6>{$value.pagetitle}</h6>
<p class="fs-08">Код услуги {$value.article}</p>
</div>
<div class="col-lg-2">
<h6>{$value.price} руб.</h6>
</div>
<div class="col-lg-2">
<a href="{13330|url}/?employee={$employee.id}&service={$value.id}" class="btn" >Записаться</a>
</div>
</div>
{/foreach}
</div>
</div>
{else}
Услуги не указаны
{/if}
1.0.5-beta
- Исправление сниппета mc1c
- Добавлена кнопка на получения врачей из 1С
Последние обсуждения в сообществе MODX.pro