Линки и дополнительные свойства элементов
префикс это параметр ТДС. -
А в настройках структуры вы просто указываете его значение - (галочками отмечено то что должно быть одинаковым)
А в настройках структуры вы просто указываете его значение - (галочками отмечено то что должно быть одинаковым)
Заказов не беру. Консультирую редко.
Kotoff,
Скажите пожалуйста, а чем отличен предложенный вами метод от простого использования одного и того же магазина или инфосистемы, прикрепленной к разным узлам структуры и с назначенными разными XSL-шаблонами? Реализация второго языка так же через дополнительные свойства, идентичные выводимым данным на основном языке.
И, вроде все получается но как быть с метками? Т.е. метка на русском "пример" для англоязычной можно пустить вывод описания метки "primer". А если описания уже используются?
Скажите пожалуйста, а чем отличен предложенный вами метод от простого использования одного и того же магазина или инфосистемы, прикрепленной к разным узлам структуры и с назначенными разными XSL-шаблонами? Реализация второго языка так же через дополнительные свойства, идентичные выводимым данным на основном языке.
И, вроде все получается но как быть с метками? Т.е. метка на русском "пример" для англоязычной можно пустить вывод описания метки "primer". А если описания уже используются?

yestravel
Принципиально ничем не отличается - просто немного другой алгоритм.
Девушка объяснила задачу, я решил ее в меру своих представлений об устройстве и функционировании HostCMS.
Решение не претендует на универсальность, и таковым не является - просто частное решение частной проблемы.
По поводу меток могу предложить задать исходно набор меток (т.е. ввести их _все_ заранее, в разделе "теги" админки) и разложить их по разным группам - русские в одну группу, английский - в другую, а затем ограничивать вывод меток по группе в коде ТДС, в зависимости от текущего языка. У элемента, естественно, должны быть приписаны и русские метки, и английские.
Правда метод будет работать плохо, если вписать метку, которой в списке меток нет.
А вообще, если подходить к вопросу с точки зрения устройства этой CMS, то для разых языков надо делать отдельные незваисимые сайты. Ну не рассчитана система на многоязычность в рамках одно сайта! И все попытки сделать это будут, в той или иной степени, танцами с бубном.
Девушка объяснила задачу, я решил ее в меру своих представлений об устройстве и функционировании HostCMS.
Решение не претендует на универсальность, и таковым не является - просто частное решение частной проблемы.
По поводу меток могу предложить задать исходно набор меток (т.е. ввести их _все_ заранее, в разделе "теги" админки) и разложить их по разным группам - русские в одну группу, английский - в другую, а затем ограничивать вывод меток по группе в коде ТДС, в зависимости от текущего языка. У элемента, естественно, должны быть приписаны и русские метки, и английские.
Правда метод будет работать плохо, если вписать метку, которой в списке меток нет.
А вообще, если подходить к вопросу с точки зрения устройства этой CMS, то для разых языков надо делать отдельные незваисимые сайты. Ну не рассчитана система на многоязычность в рамках одно сайта! И все попытки сделать это будут, в той или иной степени, танцами с бубном.
Заказов не беру. Консультирую редко.
yestravel писал(а):
А вы пробовали публиковать одну и ту же инфосистему по разным путям? Попробуйте и поделитесь впечатлениями. От использования по тому пути, который не привязан к инфосистеме в ее свойствах.
Скажите пожалуйста, а чем отличен предложенный вами метод от простого использования одного и того же магазина или инфосистемы, прикрепленной к разным узлам структуры и с назначенными разными XSL-шаблонами?
А вы пробовали публиковать одну и ту же инфосистему по разным путям? Попробуйте и поделитесь впечатлениями. От использования по тому пути, который не привязан к инфосистеме в ее свойствах.
http://superweb.pro/ — сайты на HostCMS под ключ
Kotoff, а не подскажете, какие поправки нужно внести для ИС "Вопросы-ответы, Гостевая книга"?
Я попробовала по аналогии - не работает...
Вот код настроек ТДС:
<?php
$kernel = & singleton('kernel');
/* ID Информационной системы */
$InformationSystem_id = to_int($GLOBALS['LA']['InformationSystemID']);
/* Количество записей на страницу */
$items_on_page = to_int($GLOBALS['LA']['ItemsOnPage']);
$GLOBALS['LA_InformationSystem'] = & singleton('InformationSystem');
if ($items_on_page !== true)
{
$items_on_page = to_int($items_on_page);
}
$property = to_array($property);
/* Текстовая информация для указания номера страницы, например "страница" */
if (isset($GLOBALS['LA']['page']))
{
$property['page'] = to_str($GLOBALS['LA']['page']);
}
else
{
$property['page'] = 'страница';
}
/* Разделитель в заголовке страницы */
if (isset($GLOBALS['LA']['separator']))
{
$property['separator'] = to_str($GLOBALS['LA']['separator']);
}
else
{
$property['separator'] = ' / ';
}
$GLOBALS['InformationResult'] = array();
// Если указание на страницу - не прерываем определение
if (ereg ("^part-([0-9]*)$", end($GLOBALS['URL_ARRAY']), $regs) && to_int($regs[1]) > 0)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$break_if_path_not_found = false;
$GLOBALS['part_ii'] = $regs[1];
}
else
{
$break_if_path_not_found = true;
$GLOBALS['part_ii'] = 1;
}
/** ИЗМЕНЕННЫЙ КУСОК ДЛЯ МУЛЬТИРАЗДЕЛА */
/* проверим, не находимся ли мы в английской части сайта */
$english_version_url = to_str($GLOBALS['LA']['english_version_url']);
$url_array = $GLOBALS['URL_ARRAY'];
if ($url_array[0] == $english_version_url) {
unset($url_array[0]);
$new_url_array = array();
$url_array = array_merge($url_array, $new_url_array);
}
/* получаем для пути ассоциативный массив с id группы и id/url элемента для данной инфосистемы */
$GLOBALS['INFSYS_result'] = $GLOBALS['LA_InformationSystem']->GetInformationFromPath($InformationSystem_id, '', $url_array, $break_if_path_not_found);
/** КОНЕЦ ИЗМЕНЕННОГО КУСКА ДЛЯ МУЛЬТИРАЗДЕЛА */
/* Если путь существует */
if ($GLOBALS['INFSYS_result'])
{
/* получаем массив с деревом от текущей группы до корня */
$GLOBALS['LA_InformationSystem']->GetInformationGroupsForXml($GLOBALS['INFSYS_result']['group'], $InformationSystem_id);
$group_path='';
$mas_information_groups_for_xml = $GLOBALS['LA_InformationSystem']->get_mas_information_groups_for_xml();
/* получаем данные о группе */
$group_result = $GLOBALS['LA_InformationSystem']->SelectInformationGroups($GLOBALS['INFSYS_result']['group'], $InformationSystem_id);
$row_group = mysql_fetch_assoc($group_result);
/* получаем данные из seo - полей для групп */
$seo_title = trim($row_group['information_groups_seo_title']);
$seo_description = trim($row_group['information_groups_seo_description']);
$seo_keywords = trim($row_group['information_groups_seo_keywords']);
/* цикл по массиву с деревом для формирования пути по группам */
for($i = count($mas_information_groups_for_xml)-1; $i >= 0; $i--)
{
/* seo_title для группы пустое, то в заголовок подставляем название */
if (trim($mas_information_groups_for_xml[$i]['information_groups_seo_title'])=='')
{
$group_path.=$property['separator'].$mas_information_groups_for_xml[$i]['information_groups_name'];
}
else
{
$group_path.=$property['separator'].$mas_information_groups_for_xml[$i]['information_groups_seo_title'];
}
}
/* определяем название информационной системы */
$row = $GLOBALS['LA_InformationSystem']->GetInformationSystem($InformationSystem_id);
/* имя информационной системы */
$InformationSystem_name = $row['information_systems_name'];
/* Если вывод информационного элемента */
if ($GLOBALS['INFSYS_result']['item'])
{
/* определяем id информационного элемента */
$item_id = $GLOBALS['LA_InformationSystem']->GetIdInformationItem($GLOBALS['INFSYS_result']['item'], $GLOBALS['INFSYS_result']['group'], $InformationSystem_id);
$GLOBALS['InformationResult']['item_id'] = $item_id;
/* получаем данные об элементе */
$row_item = $GLOBALS['LA_InformationSystem']->GetInformationSystemItem($item_id);
/* проверяем если seo_title непустой, то в заголовок страницы подставляем его */
if (trim($row_item['information_items_seo_title']) != '')
{
$item_name = $property['separator'].trim($row_item['information_items_seo_title']);
}
else
{
/* имя элемента */
$item_name = $property['separator'].$row_item['information_items_name'];
}
}
else
{
/* Вывод информационной группы */
/* Определяем номер страницы для показа */
$end_array_item = end($GLOBALS['URL_ARRAY']);
$page = to_str($end_array_item);
if (ereg ("^page-([0-9]*)$", $page, $regs) && to_int($regs[1]) > 0)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$items_begin = ($regs[1] - 1) * $items_on_page;
/* Если показываем группу, а не элемент, то указываем страницу (страница N), если она не первая */
$page_number = "{$property['separator']}{$property['page']} {$regs[1]}";
}
else
{
$items_begin = 0;
}
/* Массив, возвращаемый методом */
$GLOBALS['InformationResult']['items_begin'] = $items_begin;
}
if (isset($GLOBALS['INFSYS_result']['tag_name']))
{
$tag_name = "Метка: {$GLOBALS['INFSYS_result']['tag_name']} {$property['separator']}";
}
/* формируем заголовок страницы */
$new_title = to_str($tag_name) . $InformationSystem_name . $group_path . to_str($item_name) . to_str($page_number);
}
else
{
// Элемент/группа не найдены, возвращаем 404 ошибку.
ShowHeader404();
// Запрещаем отдавать 200-й заголовок
if (!defined('IS_ERROR_404'))
{
define('IS_ERROR_404', true);
}
$site = & singleton('site');
$site_row = $site->GetSite(CURRENT_SITE);
if ($site_row['site_error404'])
{
$structure = & singleton('Structure');
$structure_id = intval($site_row['site_error404']);
$structure_row = $structure->GetStructureItem($structure_id);
// Если тип - страница
if ($structure_row['structure_type'] == 0)
{
$document = & singleton('documents');
$documents_version_row = $document->GetCurrentDocumentVersion($structure_row['documents_id']);
$documents_version_id = $documents_version_row['documents_version_id'];
// Текущая страница
$kernel->set_current_page(PAGE_DIR . 'documents' . $documents_version_id . '.html');
}
elseif ($structure_row['structure_type'] == 1)
{
// Текущая страница - модуль
$kernel->set_current_page(CMS_FOLDER . 'structure/Modules/Module' . $structure_id . '.php');
}
else
{
/* типовая динамическая страница */
$lib_id = intval($structure_row['lib_id']);
/* Получаем параметры типовой динамической страницы */
$lib = new lib();
$GLOBALS['LA'] = $lib->LoadLibPropertiesValue($lib_id, $structure_id);
$kernel->set_current_page(CMS_FOLDER . "lib/lib_$lib_id/lib_$lib_id.php");
}
// Шаблон вывода для страницы
$kernel->set_current_page_data_template($structure_row['data_templates_id']);
}
elseif (to_str($_SERVER['REQUEST_URI']) != '/')
{
header('Location: /');
// Прекращаем выполнение
exit();
}
}
if (!empty($new_title))
{
/* отображаем группу, если не существует данных об элементе и родительская группа не является корнем */
if (!isset($row_item) && $GLOBALS['INFSYS_result']['group'] != 0 || !empty($tag_name) || !empty($page_number))
{
/* Заголовок для группы задан */
if (!empty($seo_title))
{
$kernel->set_title($seo_title);
}
else
{
$kernel->set_title($new_title);
}
/* Описание для группы задано */
if (!empty($seo_description))
{
$kernel->set_description($seo_description);
}
else
{
$kernel->set_description($new_title);
}
/* Ключевые слова для группы заданы */
if (!empty($seo_keywords))
{
$kernel->set_keywords($seo_keywords);
}
else
{
$kernel->set_keywords($new_title);
}
}
elseif (isset($row_item)) /* отображаем элемент */
{
if (!empty($row_item['information_items_seo_description']))
{
$kernel->set_title(trim($row_item['information_items_seo_title']));
}
else
{
$kernel->set_title($new_title);
}
/* Описание для элемента задано */
if (!empty($row_item['information_items_seo_description']))
{
$kernel->set_description(trim($row_item['information_items_seo_description']));
}
else
{
$kernel->set_description($new_title);
}
/* Ключевые слова для элемента заданы */
if (!empty($row_item['information_items_seo_keywords']))
{
$kernel->set_keywords(trim($row_item['information_items_seo_keywords']));
}
else
{
$kernel->set_keywords($new_title);
}
}
}
$GLOBALS['InformationResult']['items_on_page'] = $items_on_page;
?>
Вот код самой ТДС:
<?php
/* ID Информационной системы */
$InformationSystem_id = to_int($GLOBALS['LA']['InformationSystemID']);
// Получаем информацию о текущем пользователе
if (class_exists('SiteUsers'))
{
$SiteUsers = & singleton('SiteUsers');
$site_user_id = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_user_id = 0;
}
/* Массив внешних параметров, передаваемых в XML */
$external_propertys = array();
/** ИЗМЕНЕННЫЙ КУСОК ДЛЯ МУЛЬТИРАЗДЕЛА */
/* проверим, не находимся ли мы в английской части сайта
и передадим в xml соответсвующий маркер */
$english_version_url = to_str($GLOBALS['LA']['english_version_url']);
$url_array = $GLOBALS['URL_ARRAY'];
if ($url_array[0] == $english_version_url) {
$external_propertys['english_version_enable'] = 1;
$external_propertys['version_prefix'] = '/'.$english_version_url;
} else {
$external_propertys['english_version_enable'] = 0;
$external_propertys['version_prefix'] = '';
}
/** КОНЕЦ ИЗМЕНЕННОГО КУСКА ДЛЯ МУЛЬТИРАЗДЕЛА */
/* Добавление комментария */
// ShowAddComment == 1 - только авторизированные
// ShowAddComment == 2 - все
if (isset($_POST['add_comment'])
&& (($GLOBALS['LA']['ShowAddComment'] == 1 && $site_user_id > 0) || $GLOBALS['LA']['ShowAddComment'] == 2))
{
$param['information_items_id'] = to_int($GLOBALS['InformationResult']['item_id']);
/* XSL шаблон для отправки уведомления администратору о добавлении комментария */
$param['admin_email_xsl'] = to_str($GLOBALS['LA']['xsl_admin_email']);
$xsl_add_comment = to_str($GLOBALS['LA']['xsl_add_comment']);
/* Режим добавления комментария:
1 - публиковать сразу,
0 - публиковать после проверки.*/
if (to_bool($GLOBALS['LA']['TypeAddComment'])/* || $site_user_id > 0*/)
{
$param['status'] = 1;
}
else
{
$param['status'] = 0;
}
// Текст комментария
$_POST['comment_text'] = nl2br(to_str($_POST['comment_text']));
// Типографируем текст, если доступен модуль типографирования
if (class_exists('typograph'))
{
$typograph = new typograph();
$_POST['comment_text'] = $typograph->ProcessTypographic($_POST['comment_text']);
}
$param['comment_mail_type'] = to_int($GLOBALS['LA']['comment_mail_type']);
// ID родительского комментария
$param['comment_parent_id'] = to_int($_POST['comment_parent_id']);
$param['comment_autor'] = htmlspecialchars(to_str($_POST['comment_autor']));
$param['comment_email'] = htmlspecialchars(to_str($_POST['comment_email']));
$param['comment_subject'] = htmlspecialchars(to_str($_POST['comment_subject']));
$param['comment_text'] = to_str($_POST['comment_text']);
$param['comment_grade'] = to_int($_POST['comment_grade']);
$param['allowable_tags'] = '<b><strong><i><em><br><p><u><strike><ul><ol><li>';
ob_start();
$GLOBALS['LA_InformationSystem']->ShowAddComment('УведомлениеДобавлениеКомментария', $param);
$external_propertys['message'] = ob_get_clean();
}
if ($GLOBALS['INFSYS_result'] != false)
{
/* XSL шаблон для отображения списка элементов информационной системы */
$xsl_list = to_str($GLOBALS['LA']['xsl_information_system_list']);
/* XSL шаблон для отображения элемента информационной системы */
$xsl_item = to_str($GLOBALS['LA']['xsl_information_item']);
$InformationResult = $GLOBALS['InformationResult'];
/* Массив внешних параметров, передаваемых в XML */
$external_propertys['ОтображатьСсылкуНаАрхив'] = 0;
$external_propertys['ОтображатьСсылкиНаСледующиеСтраницы'] = 1;
/* Массив дополнительных параметров */
$property = array();
/* Число элементов на страницу */
if (isset($InformationResult['items_on_page']))
{
if ($InformationResult['items_on_page'] !== true)
{
$InformationResult['items_on_page'] = to_int($InformationResult['items_on_page']);
}
}
else
{
$InformationResult['items_on_page'] = 10;
}
/* Номер, с которого начинается показ */
if (isset($InformationResult['items_begin']))
{
$InformationResult['items_begin'] = to_int($InformationResult['items_begin']);
}
else
{
$InformationResult['items_begin'] = 0;
}
/* Вывод списка */
if ($GLOBALS['INFSYS_result']['item'] == false)
{
// Если передано имя тэга - фильтруем
if (isset($GLOBALS['INFSYS_result']['tag_name']))
{
if (class_exists('Tag'))
{
$oTag = & singleton('Tag');
$tag_row = $oTag->GetTagByPath($GLOBALS['INFSYS_result']['tag_name']);
$property['tags'] = array($tag_row['tag_id']);
// При выводе тэгов вывод элементов ведется из всех групп
$GLOBALS['INFSYS_result']['group'] = false;
}
}
// $property['xml_show_group_type'] = 'all';
// Разрешаем передачу в XML свойств групп
$property['xml_show_group_property'] = true;
// Капча
$Captcha = new Captcha();
$external_propertys['captcha_key'] = $Captcha->GetCaptchaID();
/* Обработка вставки информационного элемента */
if (isset($_POST['submit_question']))
{
// Проверяем правильноть указания капчи
// Для авторизированных пользователей капчу не проверяем
if ($site_user_id > 0
|| $Captcha->ValidCaptcha(to_str($_POST['captcha_key']), to_str($_POST['captcha_keystring'])))
{
if ($GLOBALS['LA_InformationSystem']->confirm_information_item(date('U'), $_SERVER['REMOTE_ADDR']) == 1)
{
$date= date('Y-m-d H:i:s');
/* Определяем группу (если задана)
Принимает в качестве параметра ID информационной системы*/
$group_id = to_int($GLOBALS['INFSYS_result']['group']);
// Статус вновь добавленного элемента
// 0 - не активен (необходимо вручную проверить и включить)
// 1 - активен, виден сразу после публикации
$item_status = to_int($GLOBALS['LA']['ItemStatus']);
// Текст сообщения
$text = nl2br(htmlspecialchars(strip_tags(to_str($_POST['text_item']))));
// Типографируем текст, если доступен модуль типографирования
if (class_exists('typograph'))
{
$typograph = new typograph();
$text = $typograph->ProcessTypographic($text);
}
$param = array();
$param['site_users_id'] = $site_user_id;
$subj = htmlspecialchars(strip_tags(to_str($_POST['subject'])));
if(strlen($subj) == 0)
{
$subj = '<Без темы>';
}
// Вставляем запись
$question_id = $GLOBALS['LA_InformationSystem']->InsertInformationItems(0, 0,
$InformationSystem_id, $group_id, $date, $subj, '',
$item_status, $text, '', 0, to_str($_SERVER['REMOTE_ADDR']), '', 1, '', '', '', '', $param);
$row = $GLOBALS['LA_InformationSystem']->GetInformationSystemItems($question_id);
// Вставляем в дополнительные свойства автора, его email и id
$GLOBALS['LA_InformationSystem']->InsertInformationPropertysItems(0, 0, to_int($GLOBALS['LA']['autor_property_id']), $question_id, htmlspecialchars(strip_tags(to_str($_POST['autor']))));
$GLOBALS['LA_InformationSystem']->InsertInformationPropertysItems(0, 0, to_int($GLOBALS['LA']['email_property_id']), $question_id, htmlspecialchars(strip_tags(to_str($_POST['email']))));
// Если пользователь зерегистрирован, получаем информацию
if (class_exists('SiteUsers') && !empty($site_user_id))
{
$row_site_user = $SiteUsers->GetSiteUser($site_user_id);
if(!empty($row_site_user['site_users_name']) && !empty($row_site_user['site_users_surname']))
{
$site_user_name = $row_site_user['site_users_name'].' '.$row_site_user['site_users_surname'];
}
else
{
$site_user_name = $row_site_user['site_users_login'];
}
$site_user_email = $row_site_user['site_users_email'];
}
else
{
$site_user_name = htmlspecialchars(strip_tags(to_str($_POST['autor'])));
$site_user_email = htmlspecialchars(strip_tags(to_str($_POST['email'])));
}
ob_start();
if ($item_status == 0)
{
?>
<p>Благодарим Вас, <?php echo $site_user_name?>!
<br />Ваша запись принята. После проверки Администратором она станет доступной!
</p>
<?php
}
else
{
?>
<p>Благодарим Вас, <?php echo $site_user_name?>!
<br />Ваша запись принята и опубликована!
</p>
<?php
}
$external_propertys['message'] = ob_get_clean();
// Отправка письма администратору
$message = "Доброе время суток, уважаемый Администратор!\n\nНа сайт, поддерживаемый системой управления сайтом HostCMS, была добавлена запись:\n";
$message .= "Автор: ".$site_user_name."\n";
$message .= "E-mail: ".$site_user_email."\n";
$message .= "Тема: ".htmlspecialchars(strip_tags(to_str($_POST['subject'])))."\n";
$message .= "Информационная система: ".$row['information_systems_name']."\n";
$message .= "Информационный элемент: ".$row['information_items_name']."\n";
$message .= "Редактировать: http://".to_str($_SERVER['HTTP_HOST'])."/admin/InformationSystems/InformationSystems.php?admin_forms_id=12&operation=edit_group_item&check_1_{$question_id}=1&information_system_id={$InformationSystem_id}\n";
$DateClass = & singleton('DateClass');
$message .= "Дата: ".$DateClass->datetime_format($date)."\n";
$message .= "IP-адрес: ".to_str($_SERVER['REMOTE_ADDR'])."\n";
$message .= "Вопрос: ".htmlspecialchars(strip_tags(to_str($_POST['text_item'])));
$subject = 'Добавление вопроса';
$kernel = & singleton('kernel');
$kernel->SendMailWithFile(EMAIL_TO, EMAIL_TO, $subject, $message, array(), 'text/plain');
}
else // нельзя добавлить объявление - прошло мало времени
{
$external_propertys['error'] = 'Запись не может быть добавлена, т.к. прошло мало времени с момента Вашего последнего добавления вопроса!';
}
}
// Ошибка добавления записи
else
{
$external_propertys['error'] = 'Вы неверно ввели число подтверждения отправки формы!';
$external_propertys['autor'] = htmlspecialchars(strip_tags(to_str($_POST['autor'])));
$external_propertys['email'] = htmlspecialchars(strip_tags(to_str($_POST['email'])));
$external_propertys['subject'] = htmlspecialchars(strip_tags(to_str($_POST['subject'])));
$external_propertys['text_item'] = htmlspecialchars(strip_tags(to_str($_POST['text_item'])));
}
}
/* Отображаем информационную систему */
$GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $GLOBALS['INFSYS_result']['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
}
else
{
/* Определяем идентификатор информационного элемента */
$item_id = $GLOBALS['LA_InformationSystem']->GetIdInformationItem($GLOBALS['INFSYS_result']['item'], $GLOBALS['INFSYS_result']['group'], $InformationSystem_id);
if (to_bool($GLOBALS['LA']['ShowComments']))
{
$external_propertys['show_comments'] = '1';
}
else
{
$external_propertys['show_comments'] = '0';
}
// Кому разрешено добавление комментария
$external_propertys['show_add_comments'] = to_int($GLOBALS['LA']['ShowAddComment']);
$property['part'] = $GLOBALS['part_ii'];
// Запрещаем передачу в XML свойств групп
$property['xml_show_group_property'] = false;
/* Выводим элемент информационной системы */
$GLOBALS['LA_InformationSystem']->ShowInformationSystemItem($item_id, $xsl_item, $external_propertys);
}
}
?>
Не работает
Я попробовала по аналогии - не работает...
Вот код настроек ТДС:
<?php
$kernel = & singleton('kernel');
/* ID Информационной системы */
$InformationSystem_id = to_int($GLOBALS['LA']['InformationSystemID']);
/* Количество записей на страницу */
$items_on_page = to_int($GLOBALS['LA']['ItemsOnPage']);
$GLOBALS['LA_InformationSystem'] = & singleton('InformationSystem');
if ($items_on_page !== true)
{
$items_on_page = to_int($items_on_page);
}
$property = to_array($property);
/* Текстовая информация для указания номера страницы, например "страница" */
if (isset($GLOBALS['LA']['page']))
{
$property['page'] = to_str($GLOBALS['LA']['page']);
}
else
{
$property['page'] = 'страница';
}
/* Разделитель в заголовке страницы */
if (isset($GLOBALS['LA']['separator']))
{
$property['separator'] = to_str($GLOBALS['LA']['separator']);
}
else
{
$property['separator'] = ' / ';
}
$GLOBALS['InformationResult'] = array();
// Если указание на страницу - не прерываем определение
if (ereg ("^part-([0-9]*)$", end($GLOBALS['URL_ARRAY']), $regs) && to_int($regs[1]) > 0)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$break_if_path_not_found = false;
$GLOBALS['part_ii'] = $regs[1];
}
else
{
$break_if_path_not_found = true;
$GLOBALS['part_ii'] = 1;
}
/** ИЗМЕНЕННЫЙ КУСОК ДЛЯ МУЛЬТИРАЗДЕЛА */
/* проверим, не находимся ли мы в английской части сайта */
$english_version_url = to_str($GLOBALS['LA']['english_version_url']);
$url_array = $GLOBALS['URL_ARRAY'];
if ($url_array[0] == $english_version_url) {
unset($url_array[0]);
$new_url_array = array();
$url_array = array_merge($url_array, $new_url_array);
}
/* получаем для пути ассоциативный массив с id группы и id/url элемента для данной инфосистемы */
$GLOBALS['INFSYS_result'] = $GLOBALS['LA_InformationSystem']->GetInformationFromPath($InformationSystem_id, '', $url_array, $break_if_path_not_found);
/** КОНЕЦ ИЗМЕНЕННОГО КУСКА ДЛЯ МУЛЬТИРАЗДЕЛА */
/* Если путь существует */
if ($GLOBALS['INFSYS_result'])
{
/* получаем массив с деревом от текущей группы до корня */
$GLOBALS['LA_InformationSystem']->GetInformationGroupsForXml($GLOBALS['INFSYS_result']['group'], $InformationSystem_id);
$group_path='';
$mas_information_groups_for_xml = $GLOBALS['LA_InformationSystem']->get_mas_information_groups_for_xml();
/* получаем данные о группе */
$group_result = $GLOBALS['LA_InformationSystem']->SelectInformationGroups($GLOBALS['INFSYS_result']['group'], $InformationSystem_id);
$row_group = mysql_fetch_assoc($group_result);
/* получаем данные из seo - полей для групп */
$seo_title = trim($row_group['information_groups_seo_title']);
$seo_description = trim($row_group['information_groups_seo_description']);
$seo_keywords = trim($row_group['information_groups_seo_keywords']);
/* цикл по массиву с деревом для формирования пути по группам */
for($i = count($mas_information_groups_for_xml)-1; $i >= 0; $i--)
{
/* seo_title для группы пустое, то в заголовок подставляем название */
if (trim($mas_information_groups_for_xml[$i]['information_groups_seo_title'])=='')
{
$group_path.=$property['separator'].$mas_information_groups_for_xml[$i]['information_groups_name'];
}
else
{
$group_path.=$property['separator'].$mas_information_groups_for_xml[$i]['information_groups_seo_title'];
}
}
/* определяем название информационной системы */
$row = $GLOBALS['LA_InformationSystem']->GetInformationSystem($InformationSystem_id);
/* имя информационной системы */
$InformationSystem_name = $row['information_systems_name'];
/* Если вывод информационного элемента */
if ($GLOBALS['INFSYS_result']['item'])
{
/* определяем id информационного элемента */
$item_id = $GLOBALS['LA_InformationSystem']->GetIdInformationItem($GLOBALS['INFSYS_result']['item'], $GLOBALS['INFSYS_result']['group'], $InformationSystem_id);
$GLOBALS['InformationResult']['item_id'] = $item_id;
/* получаем данные об элементе */
$row_item = $GLOBALS['LA_InformationSystem']->GetInformationSystemItem($item_id);
/* проверяем если seo_title непустой, то в заголовок страницы подставляем его */
if (trim($row_item['information_items_seo_title']) != '')
{
$item_name = $property['separator'].trim($row_item['information_items_seo_title']);
}
else
{
/* имя элемента */
$item_name = $property['separator'].$row_item['information_items_name'];
}
}
else
{
/* Вывод информационной группы */
/* Определяем номер страницы для показа */
$end_array_item = end($GLOBALS['URL_ARRAY']);
$page = to_str($end_array_item);
if (ereg ("^page-([0-9]*)$", $page, $regs) && to_int($regs[1]) > 0)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$items_begin = ($regs[1] - 1) * $items_on_page;
/* Если показываем группу, а не элемент, то указываем страницу (страница N), если она не первая */
$page_number = "{$property['separator']}{$property['page']} {$regs[1]}";
}
else
{
$items_begin = 0;
}
/* Массив, возвращаемый методом */
$GLOBALS['InformationResult']['items_begin'] = $items_begin;
}
if (isset($GLOBALS['INFSYS_result']['tag_name']))
{
$tag_name = "Метка: {$GLOBALS['INFSYS_result']['tag_name']} {$property['separator']}";
}
/* формируем заголовок страницы */
$new_title = to_str($tag_name) . $InformationSystem_name . $group_path . to_str($item_name) . to_str($page_number);
}
else
{
// Элемент/группа не найдены, возвращаем 404 ошибку.
ShowHeader404();
// Запрещаем отдавать 200-й заголовок
if (!defined('IS_ERROR_404'))
{
define('IS_ERROR_404', true);
}
$site = & singleton('site');
$site_row = $site->GetSite(CURRENT_SITE);
if ($site_row['site_error404'])
{
$structure = & singleton('Structure');
$structure_id = intval($site_row['site_error404']);
$structure_row = $structure->GetStructureItem($structure_id);
// Если тип - страница
if ($structure_row['structure_type'] == 0)
{
$document = & singleton('documents');
$documents_version_row = $document->GetCurrentDocumentVersion($structure_row['documents_id']);
$documents_version_id = $documents_version_row['documents_version_id'];
// Текущая страница
$kernel->set_current_page(PAGE_DIR . 'documents' . $documents_version_id . '.html');
}
elseif ($structure_row['structure_type'] == 1)
{
// Текущая страница - модуль
$kernel->set_current_page(CMS_FOLDER . 'structure/Modules/Module' . $structure_id . '.php');
}
else
{
/* типовая динамическая страница */
$lib_id = intval($structure_row['lib_id']);
/* Получаем параметры типовой динамической страницы */
$lib = new lib();
$GLOBALS['LA'] = $lib->LoadLibPropertiesValue($lib_id, $structure_id);
$kernel->set_current_page(CMS_FOLDER . "lib/lib_$lib_id/lib_$lib_id.php");
}
// Шаблон вывода для страницы
$kernel->set_current_page_data_template($structure_row['data_templates_id']);
}
elseif (to_str($_SERVER['REQUEST_URI']) != '/')
{
header('Location: /');
// Прекращаем выполнение
exit();
}
}
if (!empty($new_title))
{
/* отображаем группу, если не существует данных об элементе и родительская группа не является корнем */
if (!isset($row_item) && $GLOBALS['INFSYS_result']['group'] != 0 || !empty($tag_name) || !empty($page_number))
{
/* Заголовок для группы задан */
if (!empty($seo_title))
{
$kernel->set_title($seo_title);
}
else
{
$kernel->set_title($new_title);
}
/* Описание для группы задано */
if (!empty($seo_description))
{
$kernel->set_description($seo_description);
}
else
{
$kernel->set_description($new_title);
}
/* Ключевые слова для группы заданы */
if (!empty($seo_keywords))
{
$kernel->set_keywords($seo_keywords);
}
else
{
$kernel->set_keywords($new_title);
}
}
elseif (isset($row_item)) /* отображаем элемент */
{
if (!empty($row_item['information_items_seo_description']))
{
$kernel->set_title(trim($row_item['information_items_seo_title']));
}
else
{
$kernel->set_title($new_title);
}
/* Описание для элемента задано */
if (!empty($row_item['information_items_seo_description']))
{
$kernel->set_description(trim($row_item['information_items_seo_description']));
}
else
{
$kernel->set_description($new_title);
}
/* Ключевые слова для элемента заданы */
if (!empty($row_item['information_items_seo_keywords']))
{
$kernel->set_keywords(trim($row_item['information_items_seo_keywords']));
}
else
{
$kernel->set_keywords($new_title);
}
}
}
$GLOBALS['InformationResult']['items_on_page'] = $items_on_page;
?>
Вот код самой ТДС:
<?php
/* ID Информационной системы */
$InformationSystem_id = to_int($GLOBALS['LA']['InformationSystemID']);
// Получаем информацию о текущем пользователе
if (class_exists('SiteUsers'))
{
$SiteUsers = & singleton('SiteUsers');
$site_user_id = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_user_id = 0;
}
/* Массив внешних параметров, передаваемых в XML */
$external_propertys = array();
/** ИЗМЕНЕННЫЙ КУСОК ДЛЯ МУЛЬТИРАЗДЕЛА */
/* проверим, не находимся ли мы в английской части сайта
и передадим в xml соответсвующий маркер */
$english_version_url = to_str($GLOBALS['LA']['english_version_url']);
$url_array = $GLOBALS['URL_ARRAY'];
if ($url_array[0] == $english_version_url) {
$external_propertys['english_version_enable'] = 1;
$external_propertys['version_prefix'] = '/'.$english_version_url;
} else {
$external_propertys['english_version_enable'] = 0;
$external_propertys['version_prefix'] = '';
}
/** КОНЕЦ ИЗМЕНЕННОГО КУСКА ДЛЯ МУЛЬТИРАЗДЕЛА */
/* Добавление комментария */
// ShowAddComment == 1 - только авторизированные
// ShowAddComment == 2 - все
if (isset($_POST['add_comment'])
&& (($GLOBALS['LA']['ShowAddComment'] == 1 && $site_user_id > 0) || $GLOBALS['LA']['ShowAddComment'] == 2))
{
$param['information_items_id'] = to_int($GLOBALS['InformationResult']['item_id']);
/* XSL шаблон для отправки уведомления администратору о добавлении комментария */
$param['admin_email_xsl'] = to_str($GLOBALS['LA']['xsl_admin_email']);
$xsl_add_comment = to_str($GLOBALS['LA']['xsl_add_comment']);
/* Режим добавления комментария:
1 - публиковать сразу,
0 - публиковать после проверки.*/
if (to_bool($GLOBALS['LA']['TypeAddComment'])/* || $site_user_id > 0*/)
{
$param['status'] = 1;
}
else
{
$param['status'] = 0;
}
// Текст комментария
$_POST['comment_text'] = nl2br(to_str($_POST['comment_text']));
// Типографируем текст, если доступен модуль типографирования
if (class_exists('typograph'))
{
$typograph = new typograph();
$_POST['comment_text'] = $typograph->ProcessTypographic($_POST['comment_text']);
}
$param['comment_mail_type'] = to_int($GLOBALS['LA']['comment_mail_type']);
// ID родительского комментария
$param['comment_parent_id'] = to_int($_POST['comment_parent_id']);
$param['comment_autor'] = htmlspecialchars(to_str($_POST['comment_autor']));
$param['comment_email'] = htmlspecialchars(to_str($_POST['comment_email']));
$param['comment_subject'] = htmlspecialchars(to_str($_POST['comment_subject']));
$param['comment_text'] = to_str($_POST['comment_text']);
$param['comment_grade'] = to_int($_POST['comment_grade']);
$param['allowable_tags'] = '<b><strong><i><em><br><p><u><strike><ul><ol><li>';
ob_start();
$GLOBALS['LA_InformationSystem']->ShowAddComment('УведомлениеДобавлениеКомментария', $param);
$external_propertys['message'] = ob_get_clean();
}
if ($GLOBALS['INFSYS_result'] != false)
{
/* XSL шаблон для отображения списка элементов информационной системы */
$xsl_list = to_str($GLOBALS['LA']['xsl_information_system_list']);
/* XSL шаблон для отображения элемента информационной системы */
$xsl_item = to_str($GLOBALS['LA']['xsl_information_item']);
$InformationResult = $GLOBALS['InformationResult'];
/* Массив внешних параметров, передаваемых в XML */
$external_propertys['ОтображатьСсылкуНаАрхив'] = 0;
$external_propertys['ОтображатьСсылкиНаСледующиеСтраницы'] = 1;
/* Массив дополнительных параметров */
$property = array();
/* Число элементов на страницу */
if (isset($InformationResult['items_on_page']))
{
if ($InformationResult['items_on_page'] !== true)
{
$InformationResult['items_on_page'] = to_int($InformationResult['items_on_page']);
}
}
else
{
$InformationResult['items_on_page'] = 10;
}
/* Номер, с которого начинается показ */
if (isset($InformationResult['items_begin']))
{
$InformationResult['items_begin'] = to_int($InformationResult['items_begin']);
}
else
{
$InformationResult['items_begin'] = 0;
}
/* Вывод списка */
if ($GLOBALS['INFSYS_result']['item'] == false)
{
// Если передано имя тэга - фильтруем
if (isset($GLOBALS['INFSYS_result']['tag_name']))
{
if (class_exists('Tag'))
{
$oTag = & singleton('Tag');
$tag_row = $oTag->GetTagByPath($GLOBALS['INFSYS_result']['tag_name']);
$property['tags'] = array($tag_row['tag_id']);
// При выводе тэгов вывод элементов ведется из всех групп
$GLOBALS['INFSYS_result']['group'] = false;
}
}
// $property['xml_show_group_type'] = 'all';
// Разрешаем передачу в XML свойств групп
$property['xml_show_group_property'] = true;
// Капча
$Captcha = new Captcha();
$external_propertys['captcha_key'] = $Captcha->GetCaptchaID();
/* Обработка вставки информационного элемента */
if (isset($_POST['submit_question']))
{
// Проверяем правильноть указания капчи
// Для авторизированных пользователей капчу не проверяем
if ($site_user_id > 0
|| $Captcha->ValidCaptcha(to_str($_POST['captcha_key']), to_str($_POST['captcha_keystring'])))
{
if ($GLOBALS['LA_InformationSystem']->confirm_information_item(date('U'), $_SERVER['REMOTE_ADDR']) == 1)
{
$date= date('Y-m-d H:i:s');
/* Определяем группу (если задана)
Принимает в качестве параметра ID информационной системы*/
$group_id = to_int($GLOBALS['INFSYS_result']['group']);
// Статус вновь добавленного элемента
// 0 - не активен (необходимо вручную проверить и включить)
// 1 - активен, виден сразу после публикации
$item_status = to_int($GLOBALS['LA']['ItemStatus']);
// Текст сообщения
$text = nl2br(htmlspecialchars(strip_tags(to_str($_POST['text_item']))));
// Типографируем текст, если доступен модуль типографирования
if (class_exists('typograph'))
{
$typograph = new typograph();
$text = $typograph->ProcessTypographic($text);
}
$param = array();
$param['site_users_id'] = $site_user_id;
$subj = htmlspecialchars(strip_tags(to_str($_POST['subject'])));
if(strlen($subj) == 0)
{
$subj = '<Без темы>';
}
// Вставляем запись
$question_id = $GLOBALS['LA_InformationSystem']->InsertInformationItems(0, 0,
$InformationSystem_id, $group_id, $date, $subj, '',
$item_status, $text, '', 0, to_str($_SERVER['REMOTE_ADDR']), '', 1, '', '', '', '', $param);
$row = $GLOBALS['LA_InformationSystem']->GetInformationSystemItems($question_id);
// Вставляем в дополнительные свойства автора, его email и id
$GLOBALS['LA_InformationSystem']->InsertInformationPropertysItems(0, 0, to_int($GLOBALS['LA']['autor_property_id']), $question_id, htmlspecialchars(strip_tags(to_str($_POST['autor']))));
$GLOBALS['LA_InformationSystem']->InsertInformationPropertysItems(0, 0, to_int($GLOBALS['LA']['email_property_id']), $question_id, htmlspecialchars(strip_tags(to_str($_POST['email']))));
// Если пользователь зерегистрирован, получаем информацию
if (class_exists('SiteUsers') && !empty($site_user_id))
{
$row_site_user = $SiteUsers->GetSiteUser($site_user_id);
if(!empty($row_site_user['site_users_name']) && !empty($row_site_user['site_users_surname']))
{
$site_user_name = $row_site_user['site_users_name'].' '.$row_site_user['site_users_surname'];
}
else
{
$site_user_name = $row_site_user['site_users_login'];
}
$site_user_email = $row_site_user['site_users_email'];
}
else
{
$site_user_name = htmlspecialchars(strip_tags(to_str($_POST['autor'])));
$site_user_email = htmlspecialchars(strip_tags(to_str($_POST['email'])));
}
ob_start();
if ($item_status == 0)
{
?>
<p>Благодарим Вас, <?php echo $site_user_name?>!
<br />Ваша запись принята. После проверки Администратором она станет доступной!
</p>
<?php
}
else
{
?>
<p>Благодарим Вас, <?php echo $site_user_name?>!
<br />Ваша запись принята и опубликована!
</p>
<?php
}
$external_propertys['message'] = ob_get_clean();
// Отправка письма администратору
$message = "Доброе время суток, уважаемый Администратор!\n\nНа сайт, поддерживаемый системой управления сайтом HostCMS, была добавлена запись:\n";
$message .= "Автор: ".$site_user_name."\n";
$message .= "E-mail: ".$site_user_email."\n";
$message .= "Тема: ".htmlspecialchars(strip_tags(to_str($_POST['subject'])))."\n";
$message .= "Информационная система: ".$row['information_systems_name']."\n";
$message .= "Информационный элемент: ".$row['information_items_name']."\n";
$message .= "Редактировать: http://".to_str($_SERVER['HTTP_HOST'])."/admin/InformationSystems/InformationSystems.php?admin_forms_id=12&operation=edit_group_item&check_1_{$question_id}=1&information_system_id={$InformationSystem_id}\n";
$DateClass = & singleton('DateClass');
$message .= "Дата: ".$DateClass->datetime_format($date)."\n";
$message .= "IP-адрес: ".to_str($_SERVER['REMOTE_ADDR'])."\n";
$message .= "Вопрос: ".htmlspecialchars(strip_tags(to_str($_POST['text_item'])));
$subject = 'Добавление вопроса';
$kernel = & singleton('kernel');
$kernel->SendMailWithFile(EMAIL_TO, EMAIL_TO, $subject, $message, array(), 'text/plain');
}
else // нельзя добавлить объявление - прошло мало времени
{
$external_propertys['error'] = 'Запись не может быть добавлена, т.к. прошло мало времени с момента Вашего последнего добавления вопроса!';
}
}
// Ошибка добавления записи
else
{
$external_propertys['error'] = 'Вы неверно ввели число подтверждения отправки формы!';
$external_propertys['autor'] = htmlspecialchars(strip_tags(to_str($_POST['autor'])));
$external_propertys['email'] = htmlspecialchars(strip_tags(to_str($_POST['email'])));
$external_propertys['subject'] = htmlspecialchars(strip_tags(to_str($_POST['subject'])));
$external_propertys['text_item'] = htmlspecialchars(strip_tags(to_str($_POST['text_item'])));
}
}
/* Отображаем информационную систему */
$GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $GLOBALS['INFSYS_result']['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
}
else
{
/* Определяем идентификатор информационного элемента */
$item_id = $GLOBALS['LA_InformationSystem']->GetIdInformationItem($GLOBALS['INFSYS_result']['item'], $GLOBALS['INFSYS_result']['group'], $InformationSystem_id);
if (to_bool($GLOBALS['LA']['ShowComments']))
{
$external_propertys['show_comments'] = '1';
}
else
{
$external_propertys['show_comments'] = '0';
}
// Кому разрешено добавление комментария
$external_propertys['show_add_comments'] = to_int($GLOBALS['LA']['ShowAddComment']);
$property['part'] = $GLOBALS['part_ii'];
// Запрещаем передачу в XML свойств групп
$property['xml_show_group_property'] = false;
/* Выводим элемент информационной системы */
$GLOBALS['LA_InformationSystem']->ShowInformationSystemItem($item_id, $xsl_item, $external_propertys);
}
}
?>
Не работает

http://superweb.pro/ — сайты на HostCMS под ключ
Kotoff писал(а):
Евгений а не подскажете что вы имеете в виду? =)
Тоже не охото вбивать руками, думаю его определять так
if (strncasecmp(CURRENT_URL_PATH, '/en/', 4) == 0)
{
$english_version_url = 'en';
}
или как?
и второй вопрос по теме:
Я в xml передаю текущую группу
// Передадим текущую группу
$InformationSystem = new InformationSystem();
$InformationSystemId = $InformationSystem->GetInformationSystemByStructureId(CURRENT_STRUCTURE_ID);
$rez = array();
$rez = $InformationSystem->GetInformationFromPath($InformationSystemId);
$external_propertys['ТекущаяГруппа'] = $rez['group'];
Так вот когда мы находимся в английской структуре то выделенная выше конструкция не работает. Это понятно почему но как решить задачу?
Сам пока не понял, возможно решение легкое но что-то ни как пока..
Спасибо за пример решения в целом, помогло.
Вообще это конечно все наспех, нехорошо, что префикс в структуре впечатывается руками. По-хорошему надо бы переделать чтобы он определялся из id раздела структуры
Евгений а не подскажете что вы имеете в виду? =)
Тоже не охото вбивать руками, думаю его определять так
if (strncasecmp(CURRENT_URL_PATH, '/en/', 4) == 0)
{
$english_version_url = 'en';
}
или как?
и второй вопрос по теме:
Я в xml передаю текущую группу
// Передадим текущую группу
$InformationSystem = new InformationSystem();
$InformationSystemId = $InformationSystem->GetInformationSystemByStructureId(CURRENT_STRUCTURE_ID);
$rez = array();
$rez = $InformationSystem->GetInformationFromPath($InformationSystemId);
$external_propertys['ТекущаяГруппа'] = $rez['group'];
Так вот когда мы находимся в английской структуре то выделенная выше конструкция не работает. Это понятно почему но как решить задачу?
Сам пока не понял, возможно решение легкое но что-то ни как пока..
Спасибо за пример решения в целом, помогло.
ку
Вообще сейчас еще больше понял что это все танцы с бубном. В зависимости от кол-ва функций на сайте, разделов, шаблонов, всяких рюшечек и тд - много приходится переводить и что-то дорабатывать 8(
Если сайт небольшой типовый (визитка например) то еще ладно -)
Проще и быстрее сделать канечно второй сайт для другой языковой версии. Однако наличие хотябы пары ИС с одинаковым содержанием дают ступор.
Кстати так же по теме а как быть с title страницы?
В русской Видео - Видеоклипы
В английской Video - Видеоклипы
Получится ли использовать доп свойста(свойства в которых назначаем английское название) группы в организации пути для групп ИС ?
Если сайт небольшой типовый (визитка например) то еще ладно -)
Проще и быстрее сделать канечно второй сайт для другой языковой версии. Однако наличие хотябы пары ИС с одинаковым содержанием дают ступор.
Кстати так же по теме а как быть с title страницы?
В русской Видео - Видеоклипы
В английской Video - Видеоклипы
Получится ли использовать доп свойста(свойства в которых назначаем английское название) группы в организации пути для групп ИС ?
ку
compaq писал(а):
compaq писал(а):

compaq писал(а):
Вообще сейчас еще больше понял что это все танцы с бубном.
Аминь.compaq писал(а):
Проще и быстрее сделать канечно второй сайт для другой языковой версии.
Ну вот вы и сами ответили на свой вопрос 
compaq писал(а):
Получится ли использовать доп свойста(свойства в которых назначаем английское название) группы в организации пути для групп ИС?
да.
Заказов не беру. Консультирую редко.
Kotoff писал(а):
Само собой но это так.. троллинг. Уже взялся и много сделал.
Очень хочу как-то это решить 8(
compaq писал(а):
compaq писал(а):Проще и быстрее сделать канечно второй сайт для другой языковой версии. Ну вот вы и сами ответили на свой вопрос
Само собой но это так.. троллинг. Уже взялся и много сделал.
Очень хочу как-то это решить 8(
compaq писал(а):
и второй вопрос по теме:
Я в xml передаю текущую группу
// Передадим текущую группу
$InformationSystem = new InformationSystem();
$InformationSystemId = $InformationSystem->GetInformationSystemByStructureId(CURRENT_STRUCTURE_ID);
$rez = array();
$rez = $InformationSystem->GetInformationFromPath($InformationSystemId);
$external_propertys['ТекущаяГруппа'] = $rez['group'];
Так вот когда мы находимся в английской структуре то выделенная выше конструкция не работает. Это понятно почему но как решить задачу?
Сам пока не понял, возможно решение легкое но что-то ни как пока..
Я в xml передаю текущую группу
// Передадим текущую группу
$InformationSystem = new InformationSystem();
$InformationSystemId = $InformationSystem->GetInformationSystemByStructureId(CURRENT_STRUCTURE_ID);
$rez = array();
$rez = $InformationSystem->GetInformationFromPath($InformationSystemId);
$external_propertys['ТекущаяГруппа'] = $rez['group'];
Так вот когда мы находимся в английской структуре то выделенная выше конструкция не работает. Это понятно почему но как решить задачу?
Сам пока не понял, возможно решение легкое но что-то ни как пока..
ку
compaq писал(а):
Метод GetInformationSystemByStructureId() берет идентификатор узла структуры из настроек самой ИС (если помните, при создании новой ИС требуется указать узел структуры, к которому она привязана).
Привязать ИС к нескольким узлам структуры - нельзя.
Так вот когда мы находимся в английской структуре то выделенная выше конструкция не работает. Это понятно почему но как решить задачу?
Бюось что никак.Метод GetInformationSystemByStructureId() берет идентификатор узла структуры из настроек самой ИС (если помните, при создании новой ИС требуется указать узел структуры, к которому она привязана).
Привязать ИС к нескольким узлам структуры - нельзя.
Заказов не беру. Консультирую редко.
Авторизация