Вопросы по Битрикс 12 - буду признателен за помощь.

I
На сайте с 19.12.2011
Offline
90
2050

Добрый вечер уважаемые форумчане! Делаю интернет магазин на Битрикс 12 самостоятельно. Дело в том, что в кодинге я особо ничего не понимаю и разбираюсь по ходу дела, естественно возникают вопросы. Хотел бы получить на них ответы. Вопросы нестандартные видимо, не могу найти в поисковиках.

Сейчас причесываю движек, убираю лишнее добавляю нужное, естественно проверяю на w3c, стараюсь максимально сделать код валидным.

Вопрос номер 1:

В стандартной сборке Битрикс 12, в оригинальном шаблоне нашел вот такую проблему:

<input id="title-search-input" type="text" name="q" value="" size="40" maxlength="50" autocomplete="off" value="" placeholder="Поиск" style="width:724px"> 

Верстка шаблона выполнена в XHTML 1.0 Transitional насколько я понимаю в такой верстке допустим только следующий код:


<input id="title-search-input" type="text" name="q" value="" size="40" maxlength="50" autocomplete="off" value="" placeholder="Поиск" style="width:724px" />

Верно ли я понял что правильно в указанной верстке прописывать код input в виде <input />?

Сделал резервную копию и исправил везде этот код, сообщения об ошибке пропали.

Вопрос номер 2.

Правильно ли я сделал и не возникнут ли проблемы при вводе символов в поля ввода?

Продажа оригинальной продукции Apple в Москве Apple-Seller.ru (http://apple-seller.ru/). Отличный VPS/VDS хостинг для сайтов в Inferno Solutions (http://cp.inferno.name/aff.php?aff=1489).
bay_ebook
На сайте с 28.05.2010
Offline
111
#1

1) вы занимаетесь не кодингом а версткой

2) в xhtml действительно нужно непарные теги типа img, input и тд закрывать через />

3) на ввод не повлияет

4) верстку нужно проверять в разных браузерах - она будет отличатся частенько

5) сделали правильно, ну по крайней мере для w3c :)

Нужен прогер на php+mysql+понимание чужего кода? (/ru/forum/540660) Вам сюда PHP-шаман (http://php-shaman.pw/)
I
На сайте с 19.12.2011
Offline
90
#2
bay_ebook:
1) вы занимаетесь не кодингом а версткой
2) в xhtml действительно нужно непарные теги типа img, input и тд закрывать через />
3) на ввод не повлияет
4) верстку нужно проверять в разных браузерах - она будет отличатся частенько
5) сделали правильно, ну по крайней мере для w3c :)

1) Да, не так выразился.

2) Вот что интересовало. Спасибо за совет!

3) Понял.

4) Это по любому будет, пока стараюсь убрать такие вот огрехи, ощущение что шаблон писался таджиками, то есть /, то его нет.

5) Еще раз спасибо. :)

дани мапов
На сайте с 06.09.2012
Offline
204
#3
iSeller:
то есть /, то его нет

Такое сплошь и рядом.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
I
На сайте с 19.12.2011
Offline
90
#4

Возник вопрос по меню. В общем надо исправить стандартное меню. Что надо? Надо меню двухуровневое, сейчас оно открывается до последнего уровня но выглядит это мягко говоря не очень.

Вот шаблон меню.

<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>

<?
if (count($arResult) < 1)
return;

$bManyIblock = array_key_exists("IBLOCK_ROOT_ITEM", $arResult[0]["PARAMS"]);
?>
<div class="header-brandzone-nav" style=" border-radius: 0 0 10px 10px; ">
<div class="allcatnav"><a href=""><?=GetMessage("MENU_MORE")?></a></div>
<div id="top-menu-layout">
<span id="top-menu">
<?
foreach($arResult as $key => $arItem):

?><span class="root-item<?if ($arItem["SELECTED"]):?> selected<?endif;?>"<?if (array_key_exists("ITEMS", $arItem) && count($arItem["ITEMS"]) > 0):?> onmouseover="BX.PortalTopMenu.itemOver(this)" onmouseout="BX.PortalTopMenu.itemOut(this)"<?endif?>><a href="<?=$arItem["LINK"]?>"><span class="left-corner"></span><span class="root-item-text"><span class="root-item-text-line"><?=$arItem["TEXT"]?></span></span><span class="right-corner"></span></a><?
if (array_key_exists("ITEMS", $arItem) && count($arItem["ITEMS"]) > 0):

?><div class="submenu<?if ($arItem["LARGE"]):?> submenu-two-columns<?endif;?>"><?
?><div class="submenu-top"><div class="right"><div class="center"></div></div></div><?
?><div class="content"><?
?><div class="content-inner"><?

if ($arItem["LARGE"]):
?><table cellspacing="0"><?
?><tr><?
?><td class="left"><?

endif;
?><ul><?

$sub_counter = 1;
$previousLevel = 2;
$bFirst = true;
foreach ($arItem["ITEMS"] as $key => $arSubItem):
if($previousLevel - $arSubItem["DEPTH_LEVEL"] > 0)
echo str_repeat("</ul></li>", ($previousLevel - $arSubItem["DEPTH_LEVEL"]));
if ($arItem["LARGE"] && $sub_counter > ceil(count($arItem["ITEMS"]) / 2) && $arSubItem["DEPTH_LEVEL"] == 2):

?></ul></td><td class="center"></td><td class="right"><ul><?
$sub_counter = 1;
$previousLevel = 2;
$bFirst = true;
endif;

if ($arSubItem["IS_PARENT"]):
?><li class="<?if ($arSubItem["SELECTED"]):?>selected<?endif?><?if ($bFirst):?> first<?endif?>"><a href="<?=$arSubItem["LINK"]?>"><?=$arSubItem["TEXT"]?></a><?
?><ul><?
else:
if ($arSubItem["PERMISSION"] > "D"):
?><li class="<?if ($arSubItem["SELECTED"]):?>selected<?endif?><?if ($bFirst):?> first<?endif?>"><a href="<?=$arSubItem["LINK"]?>"><?=$arSubItem["TEXT"]?></a></li><?
endif;
endif;

$previousLevel = $arSubItem["DEPTH_LEVEL"];
$sub_counter++;
$bFirst = false;
endforeach;

if ($previousLevel > 2):
echo str_repeat("</ul></li>", ($previousLevel-2) );
endif;
?></ul><?

if ($arItem["LARGE"]):
?></td></tr></table><?
endif;

?></div><?
?></div><?
?><div class="submenu-bottom"><div class="right"><div class="left"><div class="center"></div></div></div><?
?></div></div><?
endif;
?></span><?
endforeach;?>
</span><!-- //top-menu-->
</div>
</div>

Обведенное красным необходимо удалить. Как это сделать не пойму. Буду признателен за помощь.

I
На сайте с 19.12.2011
Offline
90
#5

Убил весь день, не смог понять как убрать вложенность меню.

IL
На сайте с 20.04.2007
Offline
435
#6

Грязненько.. но всё же...

Попробуйте после

foreach ($arItem***91;"ITEMS"***93; as $key => $arSubItem):

следующей строчкой вставить


if ($arSubItem["DEPTH_LEVEL"]>2) continue;

При необходимости "поиграться" с двойкой...

А вообще - смотреть настройки меню... изучать...

"MAX_LEVEL" => "1",
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
I
На сайте с 19.12.2011
Offline
90
#7
ivan-lev:
Грязненько.. но всё же...
Попробуйте после
foreach ($arItem***91;"ITEMS"***93; as $key => $arSubItem):

следующей строчкой вставить

if ($arSubItem["DEPTH_LEVEL"]>2) continue;

При необходимости "поиграться" с двойкой...

А вообще - смотреть настройки меню... изучать...

Не помогло, изучил по ссылкам еще вчера все, скорее я дурак чем битрикс таджики делали, но есть настройка меню, есть выбор ступеней вложений от 1 до 4, че не делал все равно показывает все. Попытки удалять частями код ни к чему не привели. В под категории третьего уровня вообще откуда то берутся запятые, где они прописаны не пойму. Уже голову сломал, остановится не могу, пока не доделаю это, дальше не пойду. ))))

---------- Добавлено 14.03.2013 в 02:34 ----------

<?$APPLICATION->IncludeComponent("bitrix:menu", "tree_horizontal", array(

"ROOT_MENU_TYPE" => "left",
"MENU_CACHE_TYPE" => "A",
"MENU_CACHE_TIME" => "36000000",
"MENU_CACHE_USE_GROUPS" => "Y",
"MENU_CACHE_GET_VARS" => array(
),
"MAX_LEVEL" => "1",
"CHILD_MENU_TYPE" => "left",
"USE_EXT" => "Y",
"DELAY" => "N",
"ALLOW_MULTI_SELECT" => "N"
),
false
);?>

Вот код меню в index.php, как видно указано MAX_LEVEL 1, его можно редактировать как в файле так и через веб интерфейс, выбирается значение как ранее писал от 1 до 4, но на само меню это не влияет, хотя другие параметры при редактировании работают.

I
На сайте с 19.12.2011
Offline
90
#8

Помогите пожалуйста разобраться с меню. Второй день как бьюсь.

I
На сайте с 19.12.2011
Offline
90
#9

Битриксоводы помогите решить проблему!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий