Перейти к содержимому


Шаблон на bootstrap (штатный шаблон ShopCMS 3.1.3)


  • Вы не можете ответить в тему
Сообщений в теме: 20

#1 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 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 циферки оказались весьма приличными :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#2 stasikons

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 68 сообщений
Репутация: 4
Начинающий

Отправлено 17 March 2015 - 11:32 PM

Удобен ли сайт для мобильных можно проанализировать здесь https://developers.g...speed/insights/
  • 0

#3 Арти

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 54 сообщений
Репутация: 1
Начинающий

Отправлено 06 April 2015 - 03:57 PM

Доброго времени суток ! Решил поставить на сайт шаблон от 3.1.3 версии ) Его можно скачать с оф сайта и на всякий случай выложу его тут )!

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}

Прикрепленные файлы

  • Прикрепленный файл  архив.zip   4.12МБ   18 Количество загрузок:

  • 0

#4 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 April 2015 - 05:08 PM

Далее вносим в правки в шаблон прайс листа . pricelist.tpl.html в самом верху вставляем код {include file="header.tpl.html" header="`$smarty.const.STRING_PRICELIST` `$smarty.const.CONF_SHOP_NAME`"}

1. Осталось найти в шаблоне от 3.1.3 файл header.tpl.html, т.к. в этом шаблоне заголовок блока делается совсем по другому.
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 и текущему контексту, подменяя таким образом штатную ссылку.
  • 3
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#5 namer

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 45 сообщений
Репутация: 16
Начинающий
  • ГородКрасноярск

Отправлено 12 July 2015 - 07:01 PM

Столкнулся с проблемой адаптации нового штатного бутстрап шаблона к показу на мобильных устройствах.
Сайт http://www.lusto-shop.ru/
Происходит наслоение товаров
Быть может кто-то подскажет как это исправить
Заранее благодарен

Прикрепленные файлы

  • Прикрепленный файл  7593.png   66.81К   7 Количество загрузок:

  • 0
Установка, настройка
доработка функционала
Изображение

#6 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 12 July 2015 - 07:16 PM

Группировать по 2 или 1 в строку в зависимости от разрешения...
див класс col-lg-4 col-md-6 col-xs-12 например.
  • 1
502 Bad Gateway

#7 Salp

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 19 August 2015 - 08:56 AM

Хехе... В 3.1.3 не только старые ошибки не исправлены, но и новых добавлено. Я уже две нашел :).

Сначала сам исправил, потом увидел Ваш пост :)
Они их (ошибки) специально вносят, что-ли...

П.С. Жаль, что нет шаблонов на основе 3.1.3 (bootstrap). Наверное, уже и не будет.
  • 0

#8 m0skit

    Пользователь

  • Пользователи
  • PipPip
  • 27 сообщений
Репутация: 0
Начинающий

Отправлено 06 December 2015 - 07:30 AM

После ознакомления с новым bootstrap шаблоном у меня возник только одни вопрос - на хрена его вообще делали?

Адаптивности в нем, практически 0.

Я так и не понял, зачем нужно было подключать bootstrap, если большинство элементов шаблона сделаны не адаптивными.
Ну что, трудно было в тех же таблицы добавить responsive ?

Сейчас занят тем, что полностью его переделываю, делаю по настоящему адаптивным на 100% и удобным для пользователей.
  • 0

#9 Den

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 117 сообщений
Репутация: 0
Начинающий

Отправлено 05 May 2016 - 01:48 PM

Подскажите jquery плагин, чтобы в этом bootstrap-шаблоне можно было удобно организовать просмотр фотографий на странице товара и в обычном режиме и мобильном. Например, как здесь - http://www.templatem...demo/58174.html
  • 0

#10 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 05 May 2016 - 02:32 PM

Подскажите jquery плагин, чтобы в этом bootstrap-шаблоне можно было удобно организовать просмотр фотографий на странице товара и в обычном режиме и мобильном. Например, как здесь - http://www.templatem...demo/58174.html


судя по разметке, там bxslider http://bxslider.com/
  • 0
502 Bad Gateway

#11 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 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.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#12 Den

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 117 сообщений
Репутация: 0
Начинающий

Отправлено 06 May 2016 - 08:31 AM

судя по разметке, там bxslider http://bxslider.com/

Нет, не он

Там довольно большая солянка:

Да, похоже там 2 модифицированных модуля bxSlider + Photoswipe
Спасибо, буду ковырять их.

Но причем тут шаблон именно на бутстрап

Пытаюсь сделать на его основе нормальный адаптивный шаблон, а имеющийся в шаблоне highslide ну никак для малых разрешений не тянет, хотелось получить что-то подобное, как в примере выше.
  • 0

#13 Den

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 117 сообщений
Репутация: 0
Начинающий

Отправлено 06 May 2016 - 03:02 PM

Сделал на bxSlider + Photobox, т.к. Photoswipe какой-то уж чересчур тяжелый и сложный в установке. В качестве примера смотрите - http://codepen.io/anon/pen/xVmoON

Чего не хватило:
  • нельзя вывести превьюшки в виде карусели, если их много
  • не понял как в мобильном режиме вывести вместо превьюшек навигационные точки

  • 0

#14 slydeev

    Новичок

  • Assistent vsupport.club
  • Pip
  • 8 сообщений
Репутация: 0
Начинающий

Отправлено 07 May 2016 - 10:55 AM

Сделал на lightbox2 с применением классов xs -sm -md работает на всех разрешениях, для мобильных гугл и яндекс 100% и категории и карточки товаров посмотреть можно здесь http://lyuksdekor.ru/
  • 0

#15 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 15 October 2016 - 10:30 AM

Немного не могу разобраться.
Пагинатор страниц в простом поиске выглядит так:

Прикрепленный файл  IMG_1.png   31.63К   2 Количество загрузок:

Хотя по идее должен выглядеть как на страничках категории так:

Прикрепленный файл  IMG_2.jpg   9.12К   2 Количество загрузок:

Подскажите пожалуйста, где искать, как исправить.
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#16 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 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

  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#17 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 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

  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#18 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 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 Количество загрузок:

В чем может быть причина такого поведения?

При откате исправления (в посте выше) все стает на свои места. В админке нормально, а на странице поиска в магазине опять не ладно с новым шаблоном.
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#19 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 16 October 2016 - 11:19 AM

В чем может быть причина такого поведения?

Ну, значит надо и в админку 3.1.2 добавлять что-то из админки 3.1.3.
Либо (что проще) проверять в функции не только имя шаблона, но и админка ли это.
Например, добавить в вышеприведенный пункт условие

&& !isset($_GET['dpt'])

  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#20 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 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'])


До этого не додумался. :) Да и хотелось немного новизны в админке.
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.