Павел Романов

Павел Романов

Был в сети 30 июля 2026, 15:23
Заказы принимаю
Если языки на контекстах, то проще создать свой параметр в настройках контекста.

Допустим, ID каталога в русской версии — 20, а в английской — 50.
Создаете параметр, называете его page_catalog. У русского контекста ставите значение 20, у английского — 50. Тогда можно не делать условия, а просто использовать тег:
&parents=`[[++page_parent]]`
Нужно создать в core/components директорию в соответствии с Вашим namespace.
В ней директорию lexicon и в ней уже папки по языкам.
То есть, если пространство называется langs, то так:
core
  components
    langs
      lexicon
        ru
        en
        ...

В каждой языковой папке создайте файл default.inc.php и пропишите туда Ваши переменные:
<?php
$_lang['link_home'] = 'На главную';
$_lang['feedback'] = 'Обратная связь';
$_lang['sitemap'] = 'Карта сайта';
...

После этого все записи появятся в словарях, их можно будет править и т. д.
Выводить надежнее так:
[[%link_home? &namespace=`langs`]]
Если просто [[*content]] на всех страницах, кроме главной пропадает, то у Вас где-то есть аналогичный скрипт, который работает с .kd-sect-7-about-site и переменной con, которая объявляется в самом начале. Иначе бы выводилось на всех ))
Так Вам что надо было-то? Чтобы контент выводился всегда (на всех страницах)?
Если так, то естественно, нужно убрать условие.

Если же надо, чтобы, все-таки, выводился только на первой, то это нужно через JS делать:

//.........
<div class="kd-sect-7-about-site">
	<style>
		#cont {display:none;}
		#cont.active {display:block;}
	</style>

	<script>
	$(document).on('mse2_load', function(e, response) {
		var page = mse2Config.page;
		if(page){
			$("#cont").removeClass("active");
		} else {
			$("#cont").addClass("active");
		}
	});
	</script>
	<div id="cont" class="active">[[*content]]</div>
</div>
//...........