theone (26 Июнь 2014 - 11:40) писал:
получилось
ещё вот такую ошибку заметил, когда кликаешь на товар, открывает карточка товара. Если нет полного описания товара, то по умолчанию открывается закладка характеристики. Характеристики в ней почему то не отображаются, хотя они внесены.
Данной ошибки изначально в данном шаблоне не было, но видимо после внесения некоторых изменений была загружена версия с ошибкой такого рода. Пополнили баланс Вам на 500 рублей за нахождение ошибки. Заключается она в том, что всегда открывается при загрузке товара страница с tab_1, соответственно, если описания нет, то вкладка не отобразится, но и текст на других вкладках должен быть скрыт, если в ссылке стоит tab_1. Вам эту ошибку мы в шаблоне уже исправили.
Для тех, у кого установлен данный шаблон с этой ошибкой, исправить можно так: найдите в шаблоне Товар
id="tab_1" class="selected"
замените на
id="tab_1" class="active"
далее в этом же шаблоне найдите
<!-- END С этим товаром смотрят -->
</div>
замените на
<!-- END С этим товаром смотрят -->
и после найдите
<!-- END Если в тарифном плане подключен модуль отзывов о товаре -->
</div>
</div>
замените на
<!-- END Если в тарифном плане подключен модуль отзывов о товаре -->
</div>
</div>
</div>
теперь в файле main.css найдите
.idTabs a.selected
замените на
.idTabs a.active
теперь в файле main.js найдите
// Инициализация табов на странице товара
function initTabs() {
// Блок в котором находятся табы
var tabBlock = $('#more_info_block');
if(!tabBlock.length) {
return false;
}
// По умолчанию делаем отметку о том что активного таба не найдено
var isFind = 0;
tabBlock.find('.idTabs li > a').each(function(i){
// Если нашёлся активный там
if($(this).hasClass('selected')) {
// Инициализируем найденный таб
$(this).click();
// Ставим отметку, о том что не нужно инициализировать первый таб на странице
isFind = 1;
}
});
// Если не найдено ни одного таба с отметкой о том что он активен
if(!isFind) {
// Ставим активным первый таб на странице.
tabSwitch(1);
}
// Проверяет хэш и если по нему была открыта вкладка, то эта функция автоматически откроет её.
checkTabHash();
// Биндим изменение хэша - проверка какой FAQ вопрос нужно открыть.
$(window).bind('hashchange', function() { checkTabHash(); });
}
// Проверяет хэш, переданый пользователем и открывает соответствующий раздел
function checkTabHash() {
// Определяем текущий хэш страницы
var hash = window.location.hash.substr(1);
if(hash == 'goodsDataOpinionAdd') {
// $('#goodsDataOpinionAddBlock').show('blind');
return false;
}
if(!hash.length || hash.indexOf('show_tab_') == -1) {
return false;
}
// Открываем тот таб, который был указан в hash-е
tabSwitch(hash.replace("show_tab_", ''))
}
// Выбор вкладки на странице товара
function tabSwitch(nb) {
var tabBlock = $('#more_info_block');
tabBlock.find('.idTabs li > a').removeClass('selected');
tabBlock.find('div.content').hide();
$('#tab_' + nb).addClass('selected');
$('#idTab' + nb).show();
// Записываем в хэш информацию о том какой таб сейчас открыт, для возможности скопировать и передать ссылку с открытым нужным табом
document.location.hash = "#show_tab_" + nb;
}
// Инициализируем табы на странице
$(function() { initTabs(); });
замените на
// Инициализация табов на странице товара
function initTabs() {
// Блок в котором находятся табы
var tabBlock = $('#more_info_block');
if(!tabBlock.length) {
return false;
}
// По умолчанию делаем отметку о том что активного таба не найдено
var isFind = 0;
// Проверяет хэш и если по нему была открыта вкладка, то эта функция автоматически откроет её.
checkTabHash();
var activeTab = tabBlock.find('.idTabs li a.active');
if(!activeTab.length) {
// Ставим активным первый таб на странице.
tabSwitchCore($('.idTabs li a:first').attr('id').replace('tab_', ''));
}
// Если текущий адрес страницы предполагает добавление отзыва
if('#goodsDataOpinionAdd' == document.location.hash) {
$('#goodsDataOpinionAddBlock').show();
}
// Биндим изменение хэша - проверка какой таб нужно открыть.
$(window).bind('hashchange', function() { checkTabHash(); });
}
// Проверяет хэш, переданый пользователем и открывает соответствующий раздел
function checkTabHash() {
// Определяем текущий хэш страницы
var hash = window.location.hash.substr(1);
if(hash == 'goodsDataOpinionAdd') {
hash = 'show_tab_4';
}
if(!hash.length || hash.indexOf('show_tab_') == -1) {
return false;
}
// Открываем тот таб, который был указан в hash-е
tabSwitch(hash.replace("show_tab_", ''))
}
// Выбор вкладки на странице товара
function tabSwitch(nb) {
tabSwitchCore(nb);
if('#goodsDataOpinionAdd' != document.location.hash || 4 != nb ) {
// Записываем в хэш информацию о том какой таб сейчас открыт, для возможности скопировать и передать ссылку с открытым нужным табом
document.location.hash = "#show_tab_" + nb;
}
}
// Выбор вкладки на странице товара без изменения хэша
function tabSwitchCore(nb) {
var tabBlock = $('#more_info_block');
tabBlock.find('.idTabs li a').removeClass('active');
tabBlock.find('div.content').hide();
$('#tab_' + nb).addClass('active');
$('#idTab' + nb).show();
}
// Инициализируем табы на странице
$(function() { initTabs(); });
Помимо динамических вкладок, исправлен недочет с блоками "сопутствующие товары" и "с этим товаром смотрят". Теперь они отображаются не во вкладке отзывы, а под динамическими вкладками.
Только что обновлена версия шаблона Осень, поэтому при переустановке темы из раздела "Галерея тем" данной ошибки у других пользователей уже не будет.