Шаблон на bootstrap (штатный шаблон ShopCMS 3.1.3)
#1
Отправлено 15 March 2015 - 05:31 PM
===============
Отвечая на вопросы аудитории на SMX West 2015, Гэри Илш, аналитик и инженер Google, несколько прояснил особенности нового фактора ранжирования выдачи для мобильных устройств. По словам специалиста, алгоритм будет работать в режиме реального времени, а не запускаться в определенное время. Так, если вебмастер не успел позаботиться о поддержке мобильных устройств, он может сделать это в любой момент. Как только поисковик проиндексирует страницу заново, он выставит ей соответствующий рейтинг и поднимет в выдаче, если раньше страница проигрывала позиции лишь по этой причине.
Впрочем, для сайтов, где контент обновляется изредка, индексация может и затянуться, что негативно скажется на позиционировании в мобильной выдаче.
Илш подтвердил и догадку, что каждая страница будет иметь свой рейтинг "дружелюбности" к мобильным устройствам. Например, если только часть страниц сайта нормально работают на смартфоне, то именно у них будет приоритет в выдаче. Остальные страницы, не способные предоставить достойный сервис посетителю, окажутся намного ниже. В целом же сайт не потеряет рейтинга в глазах поисковика - у каждой страницы он будет уникален.
Напомним, что дружелюбие к мобильным устройством начнет учитываться при ранжировании в мобильном поиске с 21 апреля этого года.
===============
Штатный шаблон от 3.1.3 порадовал тем самым "дружелюбием к мобильному пользователю", выраженным в конкретных цифрах теста https://www.google.c...usability?hl=ru - практически на всех страницах некого моего сайта, где дефолтовый шаблон от 3.1.2 был заменен на дефолтовый шаблон от 3.1.3 циферки оказались весьма приличными .
#2
Отправлено 17 March 2015 - 11:32 PM
#3
Отправлено 06 April 2015 - 03:57 PM
1 архив кидаем через Ftp в корень папки \core\tpl\user\
2 архив \data\
Далее у кого стоит Чпу этот шаблон надо править ручками )
открываем head.tpl.html вставляем туда код в самый верх после тега <head>
<!-- чпу -->
<base href="http://{$smarty.const.CONF_SHOP_URL}/" />
<!-- чпу -->
Далее вносим в правки в шаблон прайс листа . pricelist.tpl.html
в самом верху вставляем код
{include file="header.tpl.html" header="`$smarty.const.STRING_PRICELIST` `$smarty.const.CONF_SHOP_NAME`"}
далее находи строчку примерно №34
{if $smarty.const.CONF_MOD_REWRITE eq 1}{if $pricelist_elements[i][4] eq 1}product_{else}category_{/if}{$pricelist_elements[i][0]}.html{else}index.php?{if $pricelist_elements[i][4] eq 1}productID{else}categoryID{/if}={$pricelist_elements[i][0]}{/if}
заменяем ёе на
{$pricelist_elements[i]|@fu_make_url}
product_brief.tpl.html
В этом файле находим 8 строчка относится она как я понял к фотографии ..
{if $smarty.const.CONF_DISPLAY_NOPHOTO eq 1}<img src="data/empty.gif" alt="no photo" class="thumbnail">{/if}{/if}</a>
меняем на
{if $smarty.const.CONF_DISPLAY_NOPHOTO eq 1}<a href="{$product_info|@fu_make_url}"><img src="data/empty.gif" alt="no photo" class="thumbnail">{/if}{/if}</a></a>
далее строка 190
{if $smarty.const.CONF_MOD_REWRITE eq 1}product_{$product_info.productID}.html{else}index.php?productID={$product_info.productID}{/if}
заменяем на
{$product_info|@fu_make_url}
И ту возник вопрос (( нашел строчку которая выводит название в шаблоне краткого описания и не могу понять как её правильно заменить вот код строчки
{if $smarty.const.CONF_MOD_REWRITE eq 1} <a href='product_{$product_info.productID}.html' class="pnameh">{$product_info.name}</a>
{else} <a href='index.php?productID={$product_info.productID}' class="pnameh">{$product_info.name}</a>
{/if}
Если при установки чпу на версию шаблона были вот такие изменения .
- product_brief.tpl.html
найти:
{if $smarty.const.CONF_MOD_REWRITE eq 1}
{assign var="tlink" value="<a href='product_`$product_info.productID`.html'>`$product_info.name`</a>"}
{else}
{assign var="tlink" value="<a href='index.php?productID=`$product_info.productID`'>`$product_info.name`</a>"}
{/if}
заменить на:
{assign var="urlRewr" value=$product_info|@fu_make_url}
{assign var="tlink" value="<a class='phead' href='`$urlRewr`'>`$product_info.name`</a>"}
найти:
{if $smarty.const.CONF_MOD_REWRITE eq 1}product_{$product_info.productID}.html{else}index.php?productID={$product_info.productID}{/if}
заменить на:
Подскажите пожалуйста как правильно это сделать и я попробую дальше дополнить тему на своём опыте ....
{$product_info|@fu_make_url}
Прикрепленные файлы
#4
Отправлено 06 April 2015 - 05:08 PM
1. Осталось найти в шаблоне от 3.1.3 файл header.tpl.html, т.к. в этом шаблоне заголовок блока делается совсем по другому.Далее вносим в правки в шаблон прайс листа . pricelist.tpl.html в самом верху вставляем код {include file="header.tpl.html" header="`$smarty.const.STRING_PRICELIST` `$smarty.const.CONF_SHOP_NAME`"}
2. в pricelist.tpl.html и так есть вывод заголовка блока.
Остальное примерно той же полезности.
PS. Как мне кажется, Вы немного не по зубам задачу выбрали - прикрутить трикивебовский ЧПУ к 3.1.3. Ну а без ЧПУ шаблон от 3.1.3 ставится на ShopCMS 3.1.2 как и любой другой шаблон, хотя и с несколькими небольшими доделками в PHP-коде 3.1.2. Насколько помню, все это уже разжевано в форуме в соседней теме по 3.1.3.
Собственно, вот:Ну а без ЧПУ шаблон от 3.1.3 ставится на ShopCMS 3.1.2 как и любой другой шаблон, хотя и с несколькими небольшими доделками в PHP-коде 3.1.2. Насколько помню, все это уже разжевано в форуме в соседней теме по 3.1.3.
===========================================
2. если хотим обычный 3.1.2, но с новым шаблоном "shopcms", то:
- переписываем от 3.1.3 файлы
comparison_products.php (со страницы сравнения стало можно удалять товары)
product_detailed.php (Добавлены картинки товара для рекомендуемых)
functions.php (новый навигатор)
russian.php (добавлены несколько фраз)
- переписываем обычным образом шаблон, т.е. каталоги data/shopcms/ и core/tpl/user/shopcms/
============================
Хехе... В 3.1.3 не только старые ошибки не исправлены, но и новых добавлено. Я уже две нашел .
Исправления:
1. файл product_detailed.tpl.html
Используется смарти-массив $popular_products вместо $product_related, в результате вместо фотки товара в "рекомендуемых" получаем фотку хрен знает чего .
#<a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}product_{$product_related[i].productID}.html{else}index.php?productID={$product_related[i].productID}{/if}"><img src="data/{$popular_products[i].filename}" alt="" class="thumbnail"></a>
<a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}product_{$product_related[i].productID}.html{else}index.php?productID={$product_related[i].productID}{/if}"><img src="data/{$product_related[i].filename}" alt="" class="thumbnail"></a>
2. файл product_detailed.php
Ну, тут очевидно. Просто перепутан массив.
#$r["filename"] = "small/".$row["filename"];
$r["filename"] = "small/".$r["filename"];
============================
Переделки под трикивебовский ЧПУ у меня по понятным причинам нет .
Хотя, насколько я понимаю, там все довольно не сложно. Вместо штатных ссылок на категории, товары, страницы и новости надо прописать смарти-код типа {$ID|fu_make_url} , где функция fu_make_url будет возвращать ЧПУ-ссылку соответственно заданному ID и текущему контексту, подменяя таким образом штатную ссылку.
#5
Отправлено 12 July 2015 - 07:01 PM
Сайт http://www.lusto-shop.ru/
Происходит наслоение товаров
Быть может кто-то подскажет как это исправить
Заранее благодарен
Прикрепленные файлы
доработка функционала
#6
Отправлено 12 July 2015 - 07:16 PM
див класс col-lg-4 col-md-6 col-xs-12 например.
#7
Отправлено 19 August 2015 - 08:56 AM
Сначала сам исправил, потом увидел Ваш постХехе... В 3.1.3 не только старые ошибки не исправлены, но и новых добавлено. Я уже две нашел .
Они их (ошибки) специально вносят, что-ли...
П.С. Жаль, что нет шаблонов на основе 3.1.3 (bootstrap). Наверное, уже и не будет.
#8
Отправлено 06 December 2015 - 07:30 AM
Адаптивности в нем, практически 0.
Я так и не понял, зачем нужно было подключать bootstrap, если большинство элементов шаблона сделаны не адаптивными.
Ну что, трудно было в тех же таблицы добавить responsive ?
Сейчас занят тем, что полностью его переделываю, делаю по настоящему адаптивным на 100% и удобным для пользователей.
#9
Отправлено 05 May 2016 - 01:48 PM
#10
Отправлено 05 May 2016 - 02:32 PM
Подскажите jquery плагин, чтобы в этом bootstrap-шаблоне можно было удобно организовать просмотр фотографий на странице товара и в обычном режиме и мобильном. Например, как здесь - http://www.templatem...demo/58174.html
судя по разметке, там bxslider http://bxslider.com/
#11
Отправлено 05 May 2016 - 07:51 PM
<script src="catalog/view/theme/theme662/js/script.js" type="text/javascript"></script>
<script src="catalog/view/theme/theme662/js/jquery.easing.1.3.js"></script>
<script src="catalog/view/theme/theme662/js/jquery.ui.totop.js"></script>
<script src="catalog/view/theme/theme662/js/scrollfix.min.js"></script>
<script src="catalog/view/theme/theme662/js/jquery.rd-navbar.min.js"></script>
<script src="catalog/view/theme/theme662/js/jquery.unveil.min.js"></script>
<script src="catalog/view/theme/theme662/js/magnificent/jquery.ba-throttle-debounce.js"></script>
<script src="catalog/view/theme/theme662/js/magnificent/jquery.bridget.js"></script>
<script src="catalog/view/theme/theme662/js/magnificent/magnificent.js"></script>
<script src="catalog/view/theme/theme662/js/jquery.bxslider/jquery.bxslider.js"></script>
<script src="catalog/view/theme/theme662/js/photo-swipe/klass.min.js"></script>
<script src="catalog/view/theme/theme662/js/photo-swipe/code.photoswipe.jquery-3.0.5.js"></script>
<script src="catalog/view/theme/theme662/js/photo-swipe/code.photoswipe-3.0.5.min.js"></script>
<script src="catalog/view/theme/theme662/js/fancybox/jquery.fancybox.js"></script>
<script src="catalog/view/theme/theme662/js/superfish.min.js"></script>
<script src="catalog/view/theme/theme662/js/jquery.selectbox-0.2.min.js"></script>
Но причем тут шаблон именно на бутстрап? Чтобы показывать и на компах, и на смарфонах оптимальную картинку в бутстрап есть классы hidden-XX и visible-XX, где XX это разрешение экрана браузера. Т.е. что на каком экране показывать, а что не показывать. Хоть абсолютно разные плагины применяй для разных разрешений. А также остальные YYY-XX, где YYY это какой-либо класс. В комплексе с XX этот класс будет использоваться либо не использоваться на разных разрешениях. Что-то типа class="col-xs-6 col-sm-3", где при одном разрешении блок будет занимать три стандартных элемента бутстраповой сетки, а при другом - шесть.
Вот довольно интересный и хорошо сделанный пример категории - http://www.silver-ma...zaponki-safari/ - где использованы все четыре варианта разрешений - -xs -sm -md -lg.
#12
Отправлено 06 May 2016 - 08:31 AM
судя по разметке, там bxslider http://bxslider.com/
Да, похоже там 2 модифицированных модуля bxSlider + PhotoswipeТам довольно большая солянка:
Спасибо, буду ковырять их.
Пытаюсь сделать на его основе нормальный адаптивный шаблон, а имеющийся в шаблоне highslide ну никак для малых разрешений не тянет, хотелось получить что-то подобное, как в примере выше.Но причем тут шаблон именно на бутстрап
#13
Отправлено 06 May 2016 - 03:02 PM
Чего не хватило:
- нельзя вывести превьюшки в виде карусели, если их много
- не понял как в мобильном режиме вывести вместо превьюшек навигационные точки
#14
Отправлено 07 May 2016 - 10:55 AM
#15
Отправлено 15 October 2016 - 10:30 AM
Пагинатор страниц в простом поиске выглядит так:
IMG_1.png 31.63К 2 Количество загрузок:
Хотя по идее должен выглядеть как на страничках категории так:
IMG_2.jpg 9.12К 2 Количество загрузок:
Подскажите пожалуйста, где искать, как исправить.
#16
Отправлено 15 October 2016 - 12:16 PM
Этого пункта еще не было в той инструкции, которой Вы явно воспользовались при установке шаблона от 3.1.3 на ShopCMS 3.1.2.Подскажите пожалуйста, где искать, как исправить.
2.2. в функции GetNavigatorHtml перед
ShowNavigator($count, $offset, $countRowOnPage, html_spchars($url."&"), $out);
вставляем
# BEGIN навигатор для 3.1.3
if ('shopcms' == (isset($_SESSION["CUSTOM_DESIGN"])?$_SESSION["CUSTOM_DESIGN"]:CONF_DEFAULT_TEMPLATE))
{
ShowNavigatorNEW($count, $offset, $countRowOnPage, html_spchars($url.'&'), $out);
return $out;
}
# END навигатор для 3.1.3
#17
Отправлено 15 October 2016 - 01:36 PM
Заодно понял свою ошибку. Тема лежала не в папке shopcms
По этому, у кого именно так, то вместо:
# BEGIN навигатор для 3.1.3 if ('shopcms' == (isset($_SESSION["CUSTOM_DESIGN"])?$_SESSION["CUSTOM_DESIGN"]:CONF_DEFAULT_TEMPLATE)) { ShowNavigatorNEW($count, $offset, $countRowOnPage, html_spchars($url.'&'), $out); return $out; } # END навигатор для 3.1.3
Нужно вставить название папки в которой лежит ваша тема.
К примеру:
# BEGIN навигатор для 3.1.3 if ('myTheme' == (isset($_SESSION["CUSTOM_DESIGN"])?$_SESSION["CUSTOM_DESIGN"]:CONF_DEFAULT_TEMPLATE)) { ShowNavigatorNEW($count, $offset, $countRowOnPage, html_spchars($url.'&'), $out); return $out; } # END навигатор для 3.1.3
#18
Отправлено 16 October 2016 - 09:52 AM
Постраничная навигация в админке была так:
IMG_16.10.2016-10.14.16.jpg 3.48К 0 Количество загрузок:
После исправления на страницах поиска в магазине в админке стало так:
IMG_16.10.2016-10.24.27.jpg 4.14К 0 Количество загрузок:
В чем может быть причина такого поведения?
При откате исправления (в посте выше) все стает на свои места. В админке нормально, а на странице поиска в магазине опять не ладно с новым шаблоном.
#19
Отправлено 16 October 2016 - 11:19 AM
Ну, значит надо и в админку 3.1.2 добавлять что-то из админки 3.1.3.В чем может быть причина такого поведения?
Либо (что проще) проверять в функции не только имя шаблона, но и админка ли это.
Например, добавить в вышеприведенный пункт условие
&& !isset($_GET['dpt'])
#20
Отправлено 16 October 2016 - 11:42 AM
Теперь постраничная навигация в админке выглядит вот так:
IMG_16.10.2016-12.30.09.jpg 6.35К 1 Количество загрузок:
Что сделал:
Добавил в файл стиля админки (style.css) следующее (взятое из файла стиля bootstrap.css):
.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#3292ba;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#277292;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}
В этом же файле (стиль админки) закомментировал строчки:
/* a.liv,td.navigator a{color:#4E6592;text-decoration:underline!important;} a.liv:hover,td.navigator a:hover{color:#4E6592;text-decoration:none!important;} */
Затем, во всех файлах шаблона админки где встречается:
<td class="navigator">
Заключил переменную
{$navigator}
В класс pagination вышло примерно так:
<td class="navigator"><span class="pagination">{$navigator}</span></td>
Очистил кеш и вуаля!
Возможно есть решение более простое, но для меня хватило и этого.
Либо (что проще) проверять в функции не только имя шаблона, но и админка ли это.
Например, добавить в вышеприведенный пункт условие
&& !isset($_GET['dpt'])
До этого не додумался. Да и хотелось немного новизны в админке.