Rose debug info
---------------

Позднее Ctrl + ↑

OpenCart: как подключить LazyLoad

На страницы товаров, в категориях, результаты поиска, страницы производителей.

Что это

Это ленивая загрузка изображений, которая ускоряет загрузку сайта.

Что делать

Примечание: для работы скрипта нужна подключённая библиотека jquery.

  1. Скачать lazyload.min.js.
  1. Можно подключить и ссылкой:
<script src="https://cdn.jsdelivr.net/npm/vanilla-lazyload@15.1.1/dist/lazyload.min.js"></script>
  1. Загрузить файл в catalog/view/javascript/. Или куда удобно.
  1. Подключить в header.twig в своей теме.
  1. В footer.twig, перед закрывающим тегом body, вставить:
<script>
var lazyLoadInstance = new LazyLoad({
    elements_selector: ".lazy"
});
</script>
  1. Переходим в сайт/catalog/view/тема/product/category.twig
  1. К каждому тегу img добавляем класс lazy, а вместо src — data-src. Вот так:
<img class="lazy" data-src="ссылка на изображение" alt="">
  1. Тоже самое нужно проделать в файлах product.twig, search.twig, manufacturer_info.twig.
  1. Сохраняем, обновляем кэш.
  1. Готово.

У скрипта много настроек и возможностей, взгляните на гитхабе.

 1205   2020   OpenCart 3   работа

OpenCart: как исправить баг с адаптивность в админке

И начать нормально жить.

В чём проблема

Не знаю как у других, но когда я заходил в админку, было вот так:

Приходилось включать десктоп режим, что не вызывало восторга.

Потратил много времени прежде чем найти решение. А оно — до смешного простое.

Что делать

  1. Открываем сайт/admin/system/tweak.ocmod.xml
  1. Находим код (~13 строка):
<operation>
	<search><![CDATA[
	{% for link in links %}
	]]></search>
	<add position="before"><![CDATA[
	<script type="text/javascript" src="view/javascript/jquery/translit.js"></script>

	<style>
	#column-left {width: 260px !important;}
	#column-left + #content {margin-left: 260px !important;}
	.bimage {margin:0;}
	</style>
	]]></add>
</operation>
  1. Удаляем из него вот эту часть:
<style>
#column-left {width: 260px !important;}
#column-left + #content {margin-left: 260px !important;}
.bimage {margin:0;}
</style>
  1. Сохраняем, обновляем кэш.
  1. Готово.
  1. Результат:
Человеческий вид
 600   2020   OpenCart 3   работа

OpenCart: как сделать нормальную разметку в исходном коде редактора товаров

Двумя строчками кода.

В чём проблема

Когда вы заходите в исходный код описания, всё выглядит вот так:

Всё в одну строку, с прокруткой, без нормальной разметки

Что делать

  1. Открываем скрипт сайт/admin/view/javascript/summernote/opencart.js
  1. Находим код:
$(element).summernote({
    lang: $(this).attr('data-lang'),
    disableDragAndDrop: true,
    height: 500,
    emptyPara: '',
    codemirror: { // codemirror options
        mode: 'text/html',
        htmlMode: true,
        lineNumbers: true,
        theme: 'monokai'
	},
  1. После строки lineNumbers вставляем:
lineWrapping: true,
  1. Это уберёт прокрутку, и разметка начнёт переноситься на новые строки.
  1. После строки emptyPara вставляем:
prettifyHtml: true,
  1. Это превратит кашу с разметкой в человеческий вид.
  1. Сохраняем, обновляем кэш.
  1. Готово.
  1. Результат на выходе:
 1295   2020   OpenCart 3   работа

OpenCart: как отключить форматирование при копировании

Когда вы копируете откуда-то текст, он копируется целиком — вместе со стилями источника. Есть два решения.

Первое — копировать и вставлять не через Ctrl + V, а через Ctrl + Shift + V. Второе — отключить форматирование при копировании вообще.

Что делать

  1. Открываем сайт/admin/view/javascript/summernote/opencart.js
  1. Находим код:
$(element).summernote({
    lang: $(this).attr('data-lang'),
    disableDragAndDrop: true,
    height: 400,
    emptyPara: '',
    codemirror: { // codemirror options
        mode: 'text/html',
        htmlMode: true,
        lineNumbers: true,
        theme: 'monokai'
    },
  1. После него вставляем:
callbacks: {
    onPaste: function(e) {
        var bufferText = ((e.originalEvent || e).clipboardData || window.clipboardData).getData('Text');
        e.preventDefault();
        setTimeout(function() {
            document.execCommand('insertText', false, bufferText);
            }, 10);
        }
},
  1. Сохраняем, обновляем кэш.
  1. Готово.
 843   2020   OpenCart 3   работа

OpenCart: как сделать видео адаптивным по умолчанию

Не залезая в исходный код редактора товаров.

В чём проблема

Когда вы вставляете видео с ютюба (кнопка «Видео»), оно имеет размеры 640х360. Чтобы сделать его адаптивным, приходится лезть в код и дополнять его. Это неудобно и неприятно.

Что делать

Примечание: у меня по умолчанию установлен редактор summernote, поэтому инструкция для него.

  1. Открываем сайт/admin/view/javascript/summernote/summernote.js
  1. Находим код (~6372 строка):
$video.addClass('note-video-clip');

return $video[0];
  1. Заменяем его на:
var $embed;
var $embed = $('<div>').addClass('embed-responsive').addClass('embed-responsive-16by9');

$video.addClass('note-video-clip').addClass('embed-responsive-item');
$video.appendTo($embed);

return $embed[0];
  1. Сохраняем, обновляем кэш.
  1. Теперь при добавлении видео оно сразу будет адаптивным.
  1. Это не всё. Добавим возможность включать полноэкранный режим.
  1. В этом же файле находим код (~6327 строка):
var $video;
if (ytMatch && ytMatch[1].length === 11) {
    var youtubeId = ytMatch[1];
    $video = $('<iframe>')
        .attr('frameborder', 0)
        .attr('src', '//www.youtube.com/embed/' + youtubeId)
        .attr('width', '640').attr('height', '360');
  1. После последнего .attr добавляем:
.attr('allowfullscreen', '');
  1. Сохраняем, обновляем кэш.
  1. Готово.
 1382   2020   OpenCart 3   работа

Виды искажённого мышления

Читаю книгу Павела Федоренко «Психотерапия тревожно-фобических расстройств» и тут есть прекрасная глава про искажённое мышление. Она про то, что мы все мыслим разными категориями, и это нас отравляет. Не могу не законспектировать.

Фильтрация

Концентрация только на негативных, тревожных, обидных и раздражающих сторонах ситуации, вытесняя её положительные моменты и отбрасывая предшествующий позитивный опыт.

Например: «Он всегда ведёт себя ужасно», «Мне бы она понравилась, если бы не её вонючие духи», «Меня окружают плохие люди».

Что делать? Переключить внимание на позитивные стороны ситуации и на поиск способов решения проблемы, смотреть на события с разных точек зрения.

Ключевые слова: «плохо», «ужасно», «страшно», «отвратительно», «невыносимо».

Поляризация

Чёрно-белое видение мира, в котором все вещи и явления бывают хорошими или плохими, прекрасными или ужасными, в котором нет места для компромиссов и полутонов, потому что существуют только крайности.

Например: «Я должен выглядеть идеально, или это будет позор», «Либо я стану успешным человеком, либо всю жизнь буду неудачником», «Я не должен ошибаться, иначе стану посмешищем».

Что делать? Перестать бросаться в крайности при оценке ситуаций, оценивать события в процентном отношении, постепенно снижать уровень своего максимализма и перфекционизма.

Ключевые слова: «или..., или...», «либо..., либо...», «всё или ничего».

Сверхобобщение

Неоправданные обобщающие выводы из-за единожды произошедшего негативного случая с последующим приклеиванием негативных ярлыков на все события и явления.

Например: «У меня никогда ничего не получается», «Я никому не нужен», «Все толстые — мудаки», «Все богатые — воры».

Что делать? Исходить из реальных фактов и конкретных доказательств, заменить негативные определения на нейтральные.

Ключевые слова: «все», «всё», «никто», «ничто», «никогда», «всегда».

Чтение мыслей

Убеждение, что человек знает мысли и чувства других людей. Или уверенность в том, что другие люди должны знать, что у человека на уме.

Например: «Я и так знаю, о чём ты думаешь», «Она хочет от меня только денег», «Они должны понимать, что мне плохо».

Что делать? Понимать невозможность точного знания того, о чём думают и что чувствуют другие люди, подтверждать свои подозрения реальными фактами.

Ключевые слова: «я знаю», «он думает», «она считает», «он должен знать», «они должны понимать».

Катастрофизация

Постоянное ожидание самых худших и самых ужасных сценариев развития событий.

Например: «А что если мой самолёт разобьётся?», «А вдруг на меня нападут бандиты?», «А что если я заболею и не смогу работать?»

Что делать? Перестать раздувать из мухи слона, оценивать вероятность того или иного события, критически анализировать свои мысли.

Ключевые слова: «а что если...», «а вдруг...», «катастрофа», «кошмар».

Гиперболизация

Преувеличение значимости проблем, масштабирование сложностей и минимизирование позитивных моментов.

Например: «Стоять в очереди целый час невыносимо!», «Я не переживу отказа!», «Это ужасно, что я опаздываю!»

Что делать? Перестать преувеличивать размеры трудностей и учиться видеть их реальные масштабы.

Ключевые слова: «ужасный», «невыносимый», «огромный», «непомерный».

Персонализация

Уверенность в том, что слова и действия других людей являются их непосредственной реакцией на человека. Принятие ответственности за чувства других людей на себя.

Например: «Они смеются и смотрят на меня, значит со мной что-то не так», «Это я их разозлил», «Я всё испортил».

Что делать? Найти доказательства своим предположениям, смотреть на ту или иную ситуацию глазами независимого наблюдателя.

Ключевые слова: «я», «меня», «мной», «мне», «обо мне».

Сравнение

Сравнивание себя с другими людьми с целью обнаружения своего превосходства, что приводит к разочарованию.

Например: «Я не такой везучий, как он», «Она гораздо лучше меня решает проблемы», «Мне не достичь такого успеха, как Илон Маск».

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

Ключевые слова: «лучше», «хуже», «успешнее», «сильнее», «достойнее».

Долженствования

Необоснованно завышенные требования к себе, другим людям и миру в целом, отступление от которых недопустимо.

Например: «Я должен быть хорошим другом», «Я не должен испытывать страданий», «Окружающие должны меня одобрять», «Сегодня не должно быть плохой погоды», «Всё должно быть так, как я хочу».

Что делать? Допускать возможность ошибок, признавать уникальность других людей, заменять долженствования пожеланиями, то есть альтернативными здоровыми мыслями и разумными предпочтениями по типу «Мне бы хотелось..., но это вовсе не означает...», «Я хочу..., но это не гарантирует...».

Ключевые слова: «должен», «обязан», «следует», «необходимо».

Обесценивание

Отрицание важности происходящих событий посредством «сглаживания» своих недостатков, самообмана и оправдывания себя.

Например: «Меня бросила девушка, значит так и должно быть», «Это меня не касается!», «Кому какая разница?»

Что делать? Осознавать подлинную значимость событий и реалистично оценивать свои индивидуальные качества.

Ключевые слова: «ничего страшного», «так и должно быть», «ну и что».

Непереносимость дискомфорта

Нетерпимость неприятных состояний, что приводит к избеганию дискомфортных ситуаций.

Например: «Вставать рано утром ужасно», «Я должен сейчас поесть, или это будет невыносимо», «Если мне откажут, я этого не переживу».

Что делать? Опираться на предшествующий позитивный опыт аналогичных ситуаций, понимать реальную степень дискомфорта.

Ключевые слова: «невыносимо», «нетерпимо», «невозможно», «ужасно».

Книга Энни Дьюк «Принцип ставок»

Одна из самых полезных глав в книге — про убеждения. Её я и законспектировал.

Про формирование убеждений

Вся наша жизнь, все наши действия и мысли — это отражение наших убеждений.

Многие наши убеждения — случайны: мы что-то узнали от других людей и приняли на веру.

Нам кажется, что наши убеждения формируются так:

  1. мы что-то от кого-то узнаём;
  1. мы думаем об этом и проверяем — истинно или ложно это утверждение;
  1. мы формируем новое убеждение, как следует «разобравшись» с пунктом 2.

А фактически наши убеждения формируются вот так:

  1. мы что-то от кого-то узнаём;
  1. решаем, что так оно и есть;
  1. и лишь иногда, если у нас появляется время или желание, мы размышляем над этим утверждением, проверяем.

Про упорство убеждений

Когда наши убеждения уже сформировались, их трудно пересмотреть — они начинают жить своей жизнью. Мы ищем факты в их поддержку и редко оспариваем их убедительность. При этом мы игнорируем или пытаемся компрометировать данные, которые противоречат нашим установкам. Всё это искажает наше восприятие новых сведений — и так до бесконечности.

Про факты

Даже когда мы сталкиваемся с фактами, которые опровергают наши убеждения, мы не можем допустить встать этим фактам у нас на пути.

Как говорил Даниэль Канеман, нам важна положительная самооценка, потому что ощущение неправоты вызывает дискомфорт.

Проблема в том, что мы думаем, что убеждение либо на 100% верно, либо на 100% ложно. Если новая информация не совпадает с нашими убеждениями, мы выбираем одно из двух:

  1. кардинально изменяем мнение о себе. То есть раньше был на 100% прав, теперь совершенно не прав;
  1. игнорируем или компрометируем «неподходящую» информацию.

Если же новая информация согласуются с нашими убеждениями, мы без усилий принимаем её.

Но мы должны внимательно относиться к формированию своих убеждений, потому что делаем на них ставки. Например, решаем, кто станет лучшим президентом, понравится ли нам другой город, сделает ли нас здоровее диета и так далее.

Про споры

Споры или пари — это сигнал: кто-то сомневается в нашей правоте. А это, в свою очередь, побуждает нас проверить свои взгляды и проанализировать факты, на основе которых сформировалось «спорное» суждение.

  • Почему я так думаю?
  • Как я получил эту информацию?
  • Можно ли считать эти источники качественными?
  • Насколько я им доверяю?
  • Актуальна ли эта информация?
  • Достаточно ли у меня данных, обосновывающих эту установку?
  • Как часто факты, в которых я был уверен, оказывались ложными?
  • Каковы иные правдоподобные альтернативы?
  • Что я знаю о человеке, который со мною спорит?
  • Насколько он доверяет моему мнению?
  • Есть ли у него недоступная мне информация?
  • В какой области он специалист?
  • Что я упускаю из виду?

Когда мы спорим на что-то весомое, то чаще всего отказываемся от предвзятости и честно признаёмся себе, что в чём-то не уверены. А ещё с готовностью открываемся новой информации, учитываем её и корректируем «устоявшиеся» взгляды. Таким образом, наши представления о мире становятся адекватнее.

Суть в том, чтобы изменить привычное восприятие собственных убеждений и решений. Например, смотря на мир через призму вызова «Спорим?»

Так мы быстрее осознаем, что всегда есть некая степень неопределённости, что наши взгляды не так уж тверды, и что нет ничего только чёрного или только белого, 0% или 100%. И это неплохая жизненная философия.

Новый взгляд на убеждения

Мы можем эффективнее общаться и принимать решения, если будем думать не о том, уверены ли мы в свои убеждениях, а сосредоточимся на том, насколько мы в них уверены.

Например, уверенность в своих убеждениях можно оценивать в баллах — от нуля до десяти, или в процентах. Нуль — убеждение неверно, десять — истина.

Когда мы оцениваем уверенность в своих убеждениях, мы наглядно показываем, что то, во что мы верим, находится где-то между 100% истиной и 0%, а не на полюсах. А это значит, что мы отходим от «чёрно-белого» мышления.

Зачем оценивать свои убеждения

Когда мы открыты новому, нам проще объективно воспринимать информацию, с которой мы не сразу готовы согласиться. Мы с меньшей вероятностью поддадимся предвзятости, потому что проще слегка подправить свои установки, чем радикально менять оценку собственной «правоты».

Одно дело сказать «Я был уверен на 60%, а теперь на 40%», и совсем другое — «Я думал, что прав, но нет, я ошибался». В последнем случае, если информация не согласуется с нашими убеждениями, мы воспримем её как угрозу и будем защищаться, что усложнит путь к истине.

Корректируя убеждения, мы становимся менее самокритичными. Нет ничего плохого в том, что некоторые факты противоречат нашим взглядам. Плохо, когда мы относимся к ним необъективно и не используем для совершенствования собственных убеждений.

Когда мы говорим, что уверены, допустим, лишь на 80%, мы стимулируем других поделиться с нами знаниями. Это помогает нам корректировать свои убеждения. И со временем, информация, которой мы располагаем, становится более достоверной.


См. также книгу Дейва Грея «Лиминальное мышление».

Обращение на «ты» в рекламе

Одно из самых неприятных, раздражающих и неуважительных явлений в рекламе — обращение на «ты». Это дешёвый манипуляционный приём, который чаще всего используют инфобизнесмены и неумелые копирайтеры.

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

 2768   2019   маркетинг   реклама

Скороговорка «Шишкосушильная фабрика»

Лигурийское продолжение.

Шишкосушильная фабрика

На шишкосушильную фабрику требуется шишкосушильщик для работы на шишкосушильном аппарате.

Шишкосушильщик должен иметь опыт шишкосушения на шишкосушильном аппарате с использованием шишкосушильной технологии качественного шишкосушения для наилучшего шишкосушения.

Он также должен отличать аппарат шишкосушения от аппарата нешишкосушения, ремонтировать шишкосушильный аппарат, отличать шишки, пригодные для шишкосушения, от шишек, негодных для шишкосушения, отличать шишки недошишкосушённые от шишек перешишкосушённых.

За каждую недошишкосушённую или перешишкосушённую шишку шишкосушильшик получит шишкосушилкой по голове.

Технология шишкосушения

После шишкосбора все шишкособранные шишки, пригодные для шишкосушения отправляются на шишкосушильную фабрику на шишковозе.

Шишковоз при помощи шишкосвального аппарата сваливает шишки в шишкосортировочный отдел.

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

Шишки, пригодные для шишкосушения, поступают в шишкошлифовальный отдел. В шишкошлифовальном отделе шишкошлифовщики на шишкошлифовальных аппаратах шишкошлифуют шишки от нешишкосушительных шишкоотростков.

Шишки прошедшие шишкошлифование попадают в шишкодробительный отдел. Шишкодробильщики на шишкодробилках дробят шишки до шишкодробильного состояния, выбрасывая не шишкодробные шишки на шишкосвалку, где шишкосвальщики сжигают нешишкодробные шишки в шишкопечи. Шишкодробные шишки высушиваются в шишкосушилках.

Про качество общения

Оно определяет всё: и дружбу, и отношения, и всё вытекающее оттуда.

Я не переношу невротического общения — когда приходится что-либо выяснять, доказывать, спорить и вот это вот всё.

Любое проявление такого негативного общения я сразу пресекаю — перестаю общаться с этим человеком. Или людьми.

Для меня главный индикатор гармоничного общения — возможность что-либо обсуждать без осуждения, обесценивания, манипулирования, высмеивания, припоминаний, обвинений, шантажа, давления и повышения тонов. Когда собеседник пытается давить или говорить за меня — это всё мимо.

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

 4588   2019   жизнь   общение   принципы
Ранее Ctrl + ↓