Линки и дополнительные свойства элементов

#
Re: Линки и дополнительные свойства элементов
а эти словечки не считаются "string(10) "/eng/love/"
??
это ж мне не надо!
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Линки и дополнительные свойства элементов
кто все-таки поможет избавится от этих странных слов 'string(10) "/eng/love/"'  и 'string(6) "/love/"'на страницах http://sibdusha.ru/eng/love/ и http://sibdusha.ru/love/ соотв.
код вывода таков:
<h1><?php
var_dump(CURRENT_URL_PATH);
//Если в пути текущего раздела встрачаются след.символы в кол-ве 5 шт..
if (strncasecmp(CURRENT_URL_PATH, '/eng/', 5) == 0)
{
        // Активна англ. версия.
        echo 'Cats for mating';
}
else
{
        // Активна русская версия.
        echo 'Коты на вязку';
}

?>
</h1>

нужно оставить только вывод названий
проблема все еще есть
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
Модератор
#
Re: Линки и дополнительные свойства элементов
эм... выпилите из кода дамп Puma писал(а):
var_dump(CURRENT_URL_PATH);
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Линки и дополнительные свойства элементов
хммм
щас все как надо стало
зачем эту строку изначально сказали написать непонятно...
почему раньше не работало, а теперь работает..
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
Модератор
#
Re: Линки и дополнительные свойства элементов
Дамп сказали добавить, чтобы посмотреть что передается в CURRENT_URL_PATH. И уже после посмотреть отрабатывает ли проверка.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Линки и дополнительные свойства элементов
Kotoff, пользовалась вашим примером для нескольких сайтов ранее. Подскажите как это для 6-ки теперь переделать?

Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Линки и дополнительные свойства элементов
Кто все ж поможет переделать под 6-ку данное изменение в типовой ? с шаблоном может сама справлюсь...

Цитата:
Делается очень просто.
Создаем у ТДС параметр «префикс английского раздела», называем его переменную english_version_url.
В структуре сайта в англоязычной части создаем раздел новости, все параметры настраиваем как обычно, параметр «префикс» указываем eng (если у вас английская часть по адресу /eng/)

В настройках ТДС вставляем следующий фрагмент:

//часть кода выше вставки
///////////////////////////////////////////
// Если указание на страницу - не прерываем определение
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'])
//ну и так далее
(я привел еще часть окружающего кода для ориентировки)

а в коде самой ТДС делаем такую вставку:


/* Массив внешних параметров, передаваемых в 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 - только авторизированные


В xsl-шаблонах, во все урл вставляем часть {/document/version_prefix}, для вывода префикса. Когда сайт на русском сам префикс будет нулевой, для английской версии — /eng
Например:
<a href="{/document/version_prefix}{item_path}">


А вывод замещаемого контента реализуем через допсвойства.
Вот так выглядит вывод заголовка в списке элементов:
<!-- Название -->
         <p class="news_title">
            <a href="{/document/version_prefix}{item_path}">
               <xsl:choose>
                  <xsl:when test="/document/english_version_enable = 1 and item_propertys/item_property[@xml_name = 'english_name']/node() and item_propertys/item_property[@xml_name = 'english_name']/value != ''">
                     <xsl:value-of disable-output-escaping="yes" select="item_propertys/item_property[@xml_name = 'english_name']/value"/>
                  </xsl:when>
                  <xsl:otherwise>
                     <xsl:value-of disable-output-escaping="yes" select="item_name"/>
                  </xsl:otherwise>
               </xsl:choose>
            </a>
         </p>
Email: golden-puma@yandex.ru; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Линки и дополнительные свойства элементов
Kotoff писал(а):
Делается очень просто.
Создаем у ТДС параметр "префикс английского раздела", называем его переменную english_version_url.
В структуре сайта в англоязычной части создаем раздел новости, все параметры настраиваем как обычно, параметр "префикс" указываем eng (если у вас английская часть по адресу /eng/)

В настройках ТДС вставляем следующий фрагмент:

//часть кода выше вставки
///////////////////////////////////////////
// Если указание на страницу - не прерываем определение
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'])
//ну и так далее
(я привел еще часть окружающего кода для ориентировки)

а в коде самой ТДС делаем такую вставку:


/* Массив внешних параметров, передаваемых в 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 - только авторизированные


В xsl-шаблонах, во все урл вставляем часть {/document/version_prefix}, для вывода префикса. Когда сайт на русском сам префикс будет нулевой, для английской версии - /eng
Например:
<a href="{/document/version_prefix}{item_path}">


А вывод замещаемого контента реализуем через допсвойства.
Вот так выглядит вывод заголовка в списке элементов:
<!-- Название -->
         <p class="news_title">
            <a href="{/document/version_prefix}{item_path}">
               <xsl:choose>
                  <xsl:when test="/document/english_version_enable = 1 and item_propertys/item_property[@xml_name = 'english_name']/node() and item_propertys/item_property[@xml_name = 'english_name']/value != ''">
                     <xsl:value-of disable-output-escaping="yes" select="item_propertys/item_property[@xml_name = 'english_name']/value"/>
                  </xsl:when>
                  <xsl:otherwise>
                     <xsl:value-of disable-output-escaping="yes" select="item_name"/>
                  </xsl:otherwise>
               </xsl:choose>
            </a>
         </p>


Если что-то будет не понятно - стучитесь ко мне в аську, я дам вам вход от тестового сайта, ссылки на который я дал в самом начале этого поста - поковыряетесь сами.

plasmamedia писал(а):
Буду ОЧЕНЬ вам благодарна…
"Системный администратор цветы и конфеты не пьет" ©



Уважаемый Kotoff а есть ли подобное решение для 6 версии? Сломал голову что делать, а ведь как-то оно должно решаться 8( Помогите пожалуйста, в этой теме поднимался вопрос http://hostcms.ru/forums/2/7401/ но ответа и решения никто так и не выложил 8(
Авторизация