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

Позднее Ctrl + ↑

Можно ли использовать скриншоты из фильмов и сериалов

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

Наткнулся на статью 1274 гражданского кодекса РФ про свободное использование произведения. Отметил главное.

  • Можно цитировать чужие произведения в научных, полемических, критических, информационных, образовательных целях без согласия правообладателя.
  • Чтобы цитировать законно, нужно указать имя автора и/или источник цитирования.
  • Можно цитировать в объёме, оправданном поставленной целью. Например, если я хочу распутать сюжет сериала, то всё нормально.

Цитировать нельзя в коммерческих целях: использовать скриншоты в рекламе, на одежде, товарных знаках и пр. Для этого нужно заручиться согласием правообладателя. Но это уже отдельная история.

Всё это, в общем то, касается не только фильмов и сериалов.

Интересное за неделю — 2

20—26 июля

Делюсь тем, что понравилось за неделю 27 июля — 2 августа 2020.


Проекция волн в корейской версии Таймс-сквер:


Любопытно: карта водных судов в реальном времени:


Как выглядит фотосессия для альбома у Рамштайна:


Сервис, который создали во время карантина. С ним можно посмотреть из окна из разных точек мира:


Гео Леон показывает в профиле, как фотографы получают нужную им картинку:


Войти в историю: НАСА отправляет имена на Марс:

Книга Дебби Танг «Быть книголюбом»

Недавно читал душевную книгу Дебби Танг и… узнал себя.

Когда ты настоящий книголюб:

Стр. 62

Когда дочитал книгу:

Стр. 66

Когда читаешь разные книги:

Стр. 71

Когда читал всю ночь:

Стр. 78

Поднимает настроение :—)

Интересное за неделю — 1

27 июля — 2 августа

Делюсь тем, что понравилось за неделю 20—26 июля 2020.


Дождливый Нью-Йорк. Лучше смотреть в наушниках. Кайф и полное погружение обеспечено.

Да и вообще, надо сказать, классный канал:


Узнал о сериале «Тьма» с сюжетом, похожим на «Пятнадцать жизней Гарри Огаста». Спасибо Алине Олссан за наводку :—)


Богиня СММ:

Такой рекламы Олд Спайса я ещё не видел:

Нашёл пару материалов о ней:


Снимаешь видео в формате 960 кадров в секунду — и город застывает (снято на смартфон):

У автора видео есть инстаграм, в котором он показывает разные примеры замедленной съёмки:

Про зависть

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

Да и пофиг ¯\_(ツ)_/¯

 356   2020   жизнь

Как я вышел из бизнеса после 19 месяцев работы

В конце 2018 года, после нескольких лет работы на «дядю», я решил, что не хочу больше ни на кого работать. Так мы с другом открыли интернет-магазин, над которым совместно проработали 19 месяцев. В итоге, я ушёл.

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

Интернет-магазин andbo.uz

Период работы: с 25 ноября 2018 года по 15 июня 2020 года.

Должность: сооснователь, директор по маркетингу.

Темы, которые я хочу затронуть

  • Предыстория: эмоциональное выгорание
  • Партнёрское соглашение или как работать с лучшим другом
  • Как делали проморолики для товаров
  • Как искали, нанимали и обучали людей
  • Мои слабые стороны руководителя
  • Что почитать руководителю


В предыдущей серии: Школа PROWEB.

 480   2020   кейс   работа

OpenCart: как на странице товара вывести SKU и UPC

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

Что делать

  1. Открываем сайт/catalog/controller/product/product.php
  1. Находим код (~240 строка):
$data['model'] = $product_info['model'];
  1. После вставляем:
$data['sku'] = $product_info['sku'];
$data['upc'] = $product_info['upc'];
  1. Сохраняем, обновляем кэш.
  1. Открываем сайт/catalog/view/theme/тема/template/product/product.twig
  1. Находим место для выведения и вписываем:
{{ sku }}
{{ upc }}
  1. Сохраняем, обновляем кэш.
  1. Готово.
 775   2020   OpenCart 3   работа

OpenCart: как добавить фильтр по артикулу в админке

В стандартном фильтре в админке нельзя «фильтровать» товары по артикулу. Когда у вас тысячи товаров, такой фильтр в разы ускоряет поиск конкретного товара.

Что делать

  1. Открываем сайт/admin/controller/catalog/product.php
  1. Находим код (~227 строка):
protected function getList() {
  1. После фигурной скобки вставляем:
if (isset($this->request->get['filter_sku'])) {
	$filter_sku = $this->request->get['filter_sku'];
} else {
	$filter_sku = '';
}
$data['filter_sku'] = $filter_sku;
  1. В том же файле находим (~276 строка):
$url = ''
  1. После вставляем:
if (isset($this->request->get['filter_sku'])) {
	$url .= '&filter_sku=' . $this->request->get['filter_sku'];
}
  1. В том же файле находим (~324 строка):
$filter_data = array(
  1. После скобки вставляем:
'filter_sku' => isset($filter_sku) ? $filter_sku : '',
  1. Сохраняем, обновляеем кэш.
  1. Открываем сайт/admin/model/catalog/product.php
  1. Находим код (~361 строка):
if (!empty($data['filter_name'])) {
	$sql .= " AND pd.name LIKE '" . $this->db->escape($data['filter_name']) . "%'";
}
  1. После него вставляем:
if (isset($this->request->get['filter_sku']) && !empty($data['filter_sku'])) {
	$sql .= " AND p.sku = '" . $this->db->escape($data['filter_sku']) . "'";
}
  1. Сохраняем, обновляем кэш.
  1. Открываем сайт/admin/view/template/catalog/product_list.twig
  1. Находим код (~68 строка):
<div class="form-group">
	<label class="control-label" for="input-quantity">{{ entry_quantity }}</label>
	<input type="text" name="filter_quantity" value="{{ filter_quantity }}" id="input-quantity" class="form-control" />
</div>
  1. После него вставляем:
<div class="form-group">
	<label class="control-label" for="input-sku">Артикул</label>
	<input type="text" name="filter_sku" value="{{ filter_sku }}" id="input-sku" class="form-control" />
</div>
  1. В том же файле находим (~227 строка):
var filter_status = $('select[name=\'filter_status\']').val();
  1. После него вставляем:
var filter_sku = $('input[name=\'filter_sku\']').val();

if (filter_sku) {
	url += '&filter_sku=' + encodeURIComponent(filter_sku);
}
  1. Сохраняем, обновляем кэш.
  1. Готово.
 1204   2020   OpenCart 3   работа

OpenCart: как отключить кнопку покупки, когда товара нет в наличии

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

Что делать

  1. Открываем сайт/catalog/controller/product/product.php
  1. Находим код (~251 строка):
if ($product_info['quantity'] <= 0) {
	$data['stock'] = $product_info['stock_status'];
} elseif ($this->config->get('config_stock_display')) {
	$data['stock'] = $product_info['quantity'];
} else {
	$data['stock'] = $this->language->get('text_instock');
}
  1. Перед ним добавляем:
$data['stock_quantity'] = $product_info['quantity'];
$data['text_out_of_stock'] = $product_info['stock_status'];
  1. В том же файле находим (~436 строка):
$data['products'][] = array(
…
);
  1. После скобки добавляем:
'quantity' => $result['quantity'],
'text_out_of_stock' => $result['stock_status'],
  1. Сохраняем, обновляем кэш.
  1. Открываем сайт/catalog/theme/тема/template/product/product.twig
  1. Находим код:
<button type="button" id="button-cart" data-loading-text="{{ text_loading }}" class="btn button-cart">{{ button_cart }}</button>
  • В завимости от темы, код может отличаться, но button-cart остаётся константой.
  1. Заменяем его на:
{% if stock_quantity < 1 %} 
    <button type="button" id="button-outstock" disabled="disabled" data-loading-text="{{ text_loading }}" class="btn button-cart"><i class="fa fa-exclamation-triangle"></i> {{ text_out_of_stock }}</button>
{% else %}
    <button type="button" id="button-cart" data-loading-text="{{ text_loading }}" class="btn button-cart">{{ button_cart }}</button>
{% endif %}
  1. В том же файле находим:
<input type="text" name="quantity" value="{{ minimum }}" size="2" id="input-quantity" class="form-control" />
  1. Заменяем его на:
{% if stock_quantity > 1 %} 
    <input type="text" name="quantity" value="{{ minimum }}" size="2" id="input-quantity" class="form-control" />
{% endif %}
  1. В том же файле находим:
<label class="control-label" for="input-quantity">{{ entry_qty }}</label>
  1. Заменяем его на:
{% if stock_quantity > 1 %} 
    <label class="control-label" for="input-quantity">{{ entry_qty }}</label>
{% endif %}
  1. Сохраняем, обновляем кэш.
  1. Готово. На странице товара, когда его не будет в наличии, кнопка «Купить» станет неактивной.

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

Всё зависит от конкретной темы. Но шаги остаются теми же, — меняются только редактируемые файлы. Например, category.php, manufacturer.php, search.php и пр.

 2644   2020   OpenCart 3   работа
Ранее Ctrl + ↓