Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как правильно научиться интегрировать верстку на wordpress?

Лучший ответ:
Судя по Вашему вопросу Вы не совсем понимаете о чем говорите. Фреймворков для посадки на вордпресс думаю в природе не существует, при посадке на вордпресс одним плагином не обойдешься, существует куча плагинов для ВП, каждый для своих конкретных целей, есть большие плагины (типа Advanced Custom Field, Redux), которые легко решают много задач, а есть маленькие, который решают мелкие и конкретные задачи. За основу для посадки берется статичная верстка, об выводе полей и вообще все что связано с вордпрессом читайте в кодексе Вордпресса - это Ваш самый главный помощник при изучении вордпресса, сначала в файле functions.php регистрируете Ваши post-types, custom fields, taxonomy, custom pages, widgets и только тогда это все дело появляется в админке.. Верстать в самом вордпресс не можно, это вам не редактор кода, не конструктор и не фреймворк, как я уже сказал, сначала делается статическая верстка, а потом делается натяжка - то есть Вы в свою верстку вставляете куски php-кода. а чтоб их вставлять, у Вас уже должна быть верстка, чтоб Вы видели структуру документа. иначе Вы будете путаться, ведь сложно это все дело представлять в голове, а когда оно перед глазами, то это легче и удобнее.

Худший ответ:
 Фреймворков для посадки на вордпресс думаю в природе не существует- вот  А. Сокирка, автор сделал свой фреймворк (тема?), стили и структуру пишет сразу, предварительно не верстая. Я предположил, что он сделал его на основе чего-то, и как видно из видео, его способ немного отличается от обычных.  Верстать в самом вордпресс не можно,я имел ввиду делать сайт непосредственно из psd.  Хотя есть же встроенный редактор, если конкретно по вашему замечанию.
Вопрос: Как задать backgroundSize в js?

Лучший ответ:
Свойство задаётся, посмотрите в дебаггере.
Вопрос, почему ничего не меняется, лежит уже в плоскости css.

Худший ответ:
background-size применяется к изображениям, у вас же просто задан background-color https://jsfiddle.net/EvgeniyKvasyuk/x2zgzpr3/12/
Вопрос: Какое количество категорий может создать нагрузку?

Лучший ответ:
Категории иерархические, там одна кухня. Есть теги, которые не имеют иерархии, с ними будет шустрее. То же касается произвольных таксономий. По тегам есть длительный опыт работы с сайтами где их от 3 до 12 тысяч, проблем нет. С иерархическими таксономиями есть опыт по несколько сотен штук с вложенностью до 4-5 уровня, проблем тоже не замечал.
Если запросы начинают выполняться дольше разумного, нужно использовать object cache, если кроме запросов у вас еще своя логика на уровне PHP которая тоже ресурсы требует - используйте fragment cache. И все будет хорошо.

Худший ответ:
Лично я тестировал с тысячей категорий - особых проблем не возникало.
Вопрос: Как скачать быстро видео с ютуб в виндовс?

Лучший ответ:
Download master быстрее качает

Худший ответ:
Попробуйте установить в консоль windows wget и через командную строку скачивать видео командой:
wget ссылка видео
Вопрос: Планирование структуры/наполнения сайта, с чего начать?

Лучший ответ:
Опрашиваете владельца бизнеса, что ему требуется на сайте и почему
Если у него есть аргументированные хотелки, то реализуете их
На не аргументированные указываете и предупреждаете о последствияхНа первый взгляд набор модулей не сильно отличается от сайта к сайту: каталог, услуги, акции, новости, галерея, отзывы, контакты.вы когда-нибудь сами пользовались сайтами?
Зачем клиенту автосервиса их новости?
Одна страница, которая будет нормально смотреться на всех девайсах
Лицо самого нормального авттомеханика в чистой одежде на фоне помещения сервиса
Телефон и время работы - крупно
Таблица: услуга, цена, время, фотка/видео процесса (желательно)
Карта проезда
Внизу можно подтянуть отзывы с гуглкарт и других сервисов

Худший ответ:
Нужно отталкиваться от требований и по ним составлять ТЗ.
Например, гуглите "Веб-сайт: базис, архитектура, создание" и сразу найдёте нужную информацию.
Вопрос: Как для большей надежности сконфигурировать сервер?

Лучший ответ:
Какое средство виртуализации лучше поставить? Я бы рекомендовал hyper-v
Бесплатный, отличный по фунцкиональности и производительности, а учитывая то что у вас будет стоять на нем вообще лучший вариант.Будет ли он работать, если диски перенести на абсолютно другую машину? Например был сервер на интеле, а стал стационарный ПК на амд?Виртуальная машина будет работать на любом компьютере, где запущен сервер виртуализации.
Т.е на новый компьютер вам нужно будет установить гипервизор hyper-v - после чего вы сможете запускать виртуальные машины.
Точно так же и в других системах виртуализации.
Т.е просто переткнуть диски не получится - нужно сначала поставить гипервизор.
Еще один момент - ни один гипервизор не поддерживает программный рэйд.

Худший ответ:
Вообще судя по вопросам, не стоит вам виртуализовывать ваш продашен прямо сейчас. На кошечках потренируйтесь сперва. Арендуйте IaaS какой-нибудь для экспериментов и попробуйте сделать то что вы хотите, сразу поймете все грабли.
Вопрос: Что значит базовая математика для программиста?

Лучший ответ:
Надо усвоить:
1. ВУЗовские учебники по высшей математике: матрицы, линейная алгебра, вектора.
2. Лафоре: Хэши, деревья, O(n)
3. Вузовские учебники по статистике: гистограммы, баес, вероятности, монте-карло, 
4. Нейронные сети - тут недавно был прорыв, надо взять книгу поновее.
5.  ВУЗовский учебник по мат.логике, чтобы знать вещи типа !(a&b) = a||b
6. ВУЗовский учебник по вычислительной математике: метод наискорейшего спуска и т.д.
Надо знать в общем  виде, что это всё такое и глубже копать там, где идёт реальная работа.  AI - нейронные сети, графика - значит матрицы.
Удачи!

Худший ответ:
Теория множеств, матлогика. Позволяют научиться рассуждать о типах и корректности программ (инвариант цикла и тп).
Анализ и комбинаторика, что бы уметь рассуждать о сложности алгоритма (O(n), асимптотика).
Линейная алгебра - помогает лучше понять работу с коллекциями, а так же очень нужна в модном машинном обучении.
Вопрос: SQL Server Profiler — как разобраться в том что он показывает?

Лучший ответ:
Audit Login/Logout - индикация начала/завершения сеанса взаимодействия пользователя с сервером(во время создания/завершения connection-сессии).
SQL:BatchStarting/BatchCompleted -  индикация времени начала/завершения выполнения пакета. Под пакетом понимается набор одной или более T-SQL инструкций, передаваемых СУБД для исполнения в момент времени.
RPC: Completed(Remote Procedure Call) - индикация успешного клиентского подключения извне и выполнения процедуры/пакета.
Для анализа запросов достаточно отслеживать SQL:BatchStarting/Completed и RPC:Completed. Пользуйтесь фильтрами(имя пользователя, приложение), отбирайте наблюдаемые вхождения T-SQL  перед началом трассировки.
В вашем случае Entity Framework отправляет SQL-Batch на сервер; обращайте внимание на CPU - загрузка процессора сервера БД, Reads - количество чтений, Writes - записей , Duration - продолжительность операции в миллисекундах(10^-3). При выгрузке результатов трассировки в БД(очень удобная опция для анализа большого количества операций) или внешний источник секунды уже будут с приставкой "микро" или же 10^-6. Под RPC:Completed у вас выполняются регламентные команды SQL-сервера по установке/разрыву соединения.
Полезные ссылки:SQL Server Tech Documentation - со стр. 878 инфа по профайлеруBatches

Худший ответ:
Для начального знакомства вполне подойдет MSDN, а дальше по потребности - оптимизация запросов, мониторинг БД или ловля хакеров :)
Вопрос: PSD для портфолио?

Лучший ответ:
Может с моего что-нить возьмешь тык (не рекламирую). И как понять портфолио? Чужое или куда можно опубликовать свои работы?

Худший ответ:
Ну, во-первых, "сверстать и выложить" - это не портфолио веб-разработчика, а портфолио верстальщика. Не люблю, когда эти определения смешивают, особенно когда речь идет о безопытном человеке, который знает технологии на зародышном уровне.
Во-вторых, в инете полно PSD шаблонов, для этого совсем не обязательно писать на Тостер. НО тут есть небольшая тонкость. Если вы берете PSD из свободных источников, обязательно указывайте это в предоставлении работы. Так как может быть неприятно, когда "вашу" "работу" найдут еще на десятке сайтов.
А если уж по делу, то я в свое время сделал так - зарегистрировался на сайте ФЛ.ру, там были Блоги (не знаю, есть сейчас или нет), создал тему в разделе Дизайнеры с предложением приобрести за скромную плату невостребованные дизайнерские продукты. Естественно, что в таком случае, при размещении работы не будет никаких юридических тонкостей, и вас не обвинять в "чужом" портфолио.
Удачного плавания :)
Вопрос: Не понимаю в правильном ли направлении я двигаюсь?

Лучший ответ:
Просто сижу на одном месте и туплю стандартную библиотеку не брал так как английский дальше от программирования не ушол
Как и русский.
Придумайте реальную задачу. И решайте её. Советую без ютуба. По Python, а уж тем более Django, совершенно прекрасная документация (и переводы есть). 
P.s. 1. Без английского очень тяжело
2. На YouTube есть смысл смотреть записи с конференций, скринкасты крутых ребят, которые рассказывают что-то новое или из практики. А видео с "кликнем сюда, напишем это, напишем то" - обычно отвратительны, потому что записываются непрофессионалами (обычно).

Худший ответ:
Я, конечно, сам еще новичок, но тебе нужны реальные или приближенные к реальным проектам выполнять, чтобы двигаться дальше.
Английский надо учить
Вопрос: Посредством чего блокирует сайт мой провайдер?

Лучший ответ:
Поскольку резолвинг DNS происходит корректно, промышленно готовых вариантов остаётся три:
1. Провайдерский DPI: наверняка он уже есть у всех провайдеров в том или ином виде.
Логически DPI обычно включается в разрыв линка между ядром и NAT.
Физически зачастую тоже.
Кроме обычных шейпинга и подсчёта трафика per-subscriber, там реализован набор ALG (Application Layer Gateway), которые представляют из себя, фактически, прозрачные прокси для типичных протоколов:  HTTP, FTP, DNS и т.д.
Как правило, ALG умеют не только реагировать на определённые значения полей, но и вмешиваться в процесс передачи данных.
Количество ALG зависит от навороченности DPI; в Procera даже World of Warcraft есть )
Ну а уж подмена HTTP-страницы - пожалуй, самая используемая функция HTTP ALG.
2. Наколенное решение раз:
Описано у none7 
Завести у себя в сети сервер с ip-адресами, совпадающими с Ip-адресами Вконтакта (ну, или NAT'ить все запросы к нему на сервер-заглушку, что примерно то же самое) - вполне себе решение, если надо заблокировать сервис целиком, а не отдельные страницы на нём.
Но если вдруг ваши политики наберутся дурости у наших, и список блокируемых ресурсов начнёт расти, провайдеры взвоют этот вариант поддерживать )
3. Наколенное решение два:
На самом деле, в России есть свой список блокируемых ресурсов (т.н. список Роскомнадзора) с сотнями тысяч URL.
Выяснилось, что таким количеством записей множество провайдерских DPI попросту давится, поэтому эта задача зачастую решается следующим образом:  заводятся отдельные серверы, подключаемые непосредственно к провайдерским BR (Border router'ам).
Задачи серверов: 
 - заглотить список блокируемых ресурсов, выдрать оттуда имена доменов и разрезолвить их в ip-адреса; адресов получается несколько десятков тысяч
 - полученные адреса через OSPF или BGP сливаются в BR. BR - он большой, спокойно держит BGP Full View, поэтому 10-20-50k лишних префиксов для него - капля в море
Получается, что весь трафик в сторону ip-адресов, на которых находится хотя бы одна заблокированная страница, теперь льётся на эти серверы.
Казалось бы, фиг какой сервер всё это переварит, но их можно плодить десятками: срабатывает ECMP/Load Balancing на уровне маршрутизации, и трафик размазывается  между серверами примерно поровну.
На самих серверах Linux, а в Linux - squid в transparent mode и iptables )
Соответственно:
 - tcp port 80 силами iptables отправляется в сквид, где каждый запрошенный абонентом URL ищется в списке блокированных ресурсов
 - в tcp port 443 проверяется SNI чтобы понять, пропускать трафик дальше, или резать к такой-то матери
 - весь остальной трафик (и пинги, угу) пропускается насквозь без изменения

Худший ответ:
скорее всего пров режет пакеты на шлюзах
Вопрос: JQ изменение содержимого блока?

Лучший ответ:
function setNewBlockContent(source, target) {
	target.html(source.html());
}
//	дайте всем блокам один класс для простоты выборки, например
$('.myBlock').on('mouseover', function() {
	setNewBlockContent($(this), $('#text'));
});
Ну или .text(), если нужно.

Худший ответ:
Добавить класс к блокам:<div class="hello" id="a">Hello A</div>
<div class="hello" id="b">Hello B</div>
<div class="hello" id="c">Hello C</div>
<div class="hello" id="d">Hello D</div>
<div class="hello" id="e">Hello E</div>
<div id="text">
    <div class="b">From A</div>
</div>$('.hello').on('mouseover', function() {
    $('.b').text($(this).text());
});
Вопрос: Есть ли библиотека для обратимого шифрования строк?

Лучший ответ:
Да, в поставке php есть стандартная библиотека mcrypt.
Подробное описание здесь: php.net/manual/ru/intro.mcrypt.php

Худший ответ:
Код не мой. Где то нагуглил пару лет назад теперь юзаю.
https://github.com/v-grabko/GoRpc-PhpClient/blob/m...
Вопрос: В чем отличия Object.prototype.method и Object.method?

Лучший ответ:
В чем отличия Object.prototype.method и Object.method?
Object.method — это методы конструктора Object. Ну вроде как статические методы в php, если провести аналогию.
Object.prototype.method — это методы экземпляров Object и его потомков.И не могу понять: зачем нам prototype? Ведь по сути нам просто нужно получить функцию и задать контекст, почему же тогда работает только с prototype?
Потому что данная функция определена именно в прототипе.
Тут всё довольно просто, без заморочек.

Худший ответ:
Да собственно никак на различаются:alert( {}.toString == Object.prototype.toString ); // true, да
Вопрос: Как оптимизировать алгоритм для выполнения 5 задачи с проекта Эйлера?

Лучший ответ:
Задачу можно решить и без перебора.
Для начала, берёте все числа от 2 до 20 и раскладываете на простые множители.Как-то так:2 = 21
3 = 31
4 = 22
5 = 51
6 = 21·31
7 = 71
8 = 23
9 = 32
10 = 21·51
11 = 111
12 = 22·31
13 = 131
14 = 21·71
15 = 31·51
16 = 24
17 = 171
18 = 21·32
19 = 191
20 = 22·51Затем берёте максимальные степени из всех разложений и перемножаете их:
24·32·51·71·111·131·171·191 = 232792560

Худший ответ:
Так зачем вы перебираете итератор по 1? 
Найдите все простые числа <= limit и перемножте. Итератор увеличивайте на это произведение.
Вопрос: Как вот так анимировать иконки, что используется для этого?

Лучший ответ:
PhotoShop, After Effects -> to gif.
Можно конечно попробовать сымитировать на CSS, но это будет весьма трудоемко. Можете начать отсюда:
https://daneden.github.io/animate.css/
https://developer.mozilla.org/en-US/docs/Web/CSS/C...
https://developer.mozilla.org/en-US/docs/Web/CSS/@...
продолжить сюда:
greensock.com/tweenmax
Демки: css-live.ru/cssjssvg-s-podvypodvertom/ezhenedelnay...

Худший ответ:
Спасибо, посмотрим.
Вопрос: С чего начать учить websocket php?

Лучший ответ:
Ты учишь пхп для чата ? Думаю стоит сначала определится с задачей которая перед тобой стоит, если ты хочешь делать чаты, то пхп не лучший выбор. Начни изучение с ноды, чтобы не держать консоль установи pm2. По полочкам все уже давно раскидано в гугле, покрайней мере под твой уровень. Если же чтото будет непонятно именно в процессе реализации, тогда и скидывай конкретный вопрос.

Худший ответ:
Если вы пишите на php чат то для работы с вебсокетами вам понадобится использовать комет сервер.  Вот две мои статьи на эту тему, в каждой из них есть список существующих реализаций комет серверов.https://habrahabr.ru/post/341662/https://habrahabr.ru/company/comet-server/blog/273573/
Вопрос: Как лучше подключать css?

Лучший ответ:
Разбиваешь css на два файла. 
1) В одном хранишь общие стили (шрифт, фон, стили осн. блоков) и подгружаешь его перед body, что бы во время загрузки страницы, пользователь уже что-то видел и понимал, куда зашел.
2) Во втором оставляешь дополнительные стили, для модальных окон, иконок, комментариев и прочего. Инклудишь этот файл перед закрытием body, тем самым ускоряешь загрузку страницы.

Худший ответ:
В идеале собрать все вспомогательные css  в 1 файл и минифицировать и подключать в футере. Основной же файл стилей также минифицировать и подключать в head
Вопрос: Как сделать портфолио сайтов без перехода на эти сайты?

Лучший ответ:
iframe?
можно использовать magnific popup для этого

Худший ответ:
Можно открывать окно (НЕ ВКЛАДКУ!) с нужным линком по клику:
https://javascript.ru/window-open
Вопрос: Возврат перевода физ.лицу с примечанием?

Лучший ответ:
Соотвественно с таким примечанием прямая дорога к штрафам от налоговой 
Были прецеденты?
Если сумма менее полумиллиона и перевод не от юрлица - никто не обратит внимания.

Худший ответ:
Соотвественно с таким примечанием прямая дорога к штрафам от налоговой 
Были прецеденты?
Если сумма менее полумиллиона и перевод не от юрлица - никто не обратит внимания.
Вопрос: Как уместить 2 сайта на одном IP?

Лучший ответ:
Документацию для кого писали?
nginx.org/ru/docs/http/configuring_https_servers.html

Худший ответ:
Возможно удалили дефолтный конфиг nginx.
Сделайте что-нибудь такое самым первым в sites-available.server {
  listen 80;
  server_name _;
  location / {
    return 204;
  }
}
Вопрос: Как организовать процесса веб-разработки с технологической точки зрения?

Лучший ответ:
раньше прочтешь, меньше набьешь, хотя и Git - уже серьезный шаг
по самому же вопросу - привыкайте к REST API, тогда фронт не парится беком, а бек не парится фронтом

Худший ответ:
смотря в чем сложности, смотрите в сторону Agile для работы над одним проектом. Эта методология вылезает из Scrum, решит проблему с организацией командной разработки в небольшой команде.
По поводу технологий существует куча инструментов, однако желательно иметь не Denwer, а виртуальную машину с линуксом, которая сконфигурирована +- так же как и продакшн.
ВМ разработчика (VirtualBox + Linux (например, Debian 8) по настройкам сети Bridge - стейдж сервер для тестирования - продакшн
это, в общем, достаточно дешевая структура.
Единственный косяк, который помню в винде - это сложность подключения к виртуальной машине, чтобы она была как локальный компьютер, что-то нужно дополнительно делать (для MacOS есть плагин Fuse, который монтирует ВМ через ssh, для винды можно подключать виртуальный диск так)
Желательно прикрутить rollbar для того, чтобы все разрабы видели лог ошибок с продакшена, а для выкатки можно использовать Jenkins.
Вопрос: На каком аккаунте держать приложение в Google Play моем или заказчика?

Лучший ответ:
Странный вопрос!
Это приложение не Ваше, а Заказчика.
Вам за него заплатили деньги!
Поэтому ответ однозначен: разместите на аккаунте Заказчика.UPD:
1. Вам необходимо было заранее договориться с Заказчиком о том, что Вы впишите себя в Credits/About внутри приложения, возможно оформить письменное соглашение на то, что заказчик имеет право использовать ваш продукт в любых целях, сохраняя информацию о Вашем авторстве в заранее утверждённом разделе приложения (Credits/About).
Теперь - можете попробовать сделать это сейчас, но заказчик Вам ничем не обязан, хотя авторство автоматом сохраняется за Вами.
2. Можете написать в гугл, чтобы он добавил поле автора отдельно. Возможно, они прислушаются и сделают это.

Худший ответ:
На аккаунте заказчика. Ему его обновлять, отвечать на отзывы и продвигать.
Вопрос: Как подменить размера окна для @media?

Лучший ответ:
Не будет такого, я думаю. И точно не должно быть
Что за костыль?) В чём была изначальная проблема, зачем смещать?

Худший ответ:
Я могу быть и не прав, новичок в программировании, но попробуй такbody,html{
width:350px;
<!--Если нужна не ширина, а высота, то используй height-->
Вопрос: Как правильно настраивать дев-окружение для веб-разработки?

Лучший ответ:
Не думайте о доменах. Вы смешали администрирование и программирование. Не нужно никакого dev сервера. Делайте работу на локальной dev машине, отправляйте изменения в удаленный репозиторий и всё. Можете вообще не устанавливать nginx/apache и т.д. на локальную dev машину, чтобы не забивать голову всякими доменами, а проект запускать под встроенным PHP сервером например из корня проекта и тогда будете обращаться к вашим сервисам по адресу localhost:port/service1/index.php, localhost:port/service2/index.php и т.д.
Домены будете создавать уже на продакшене. В простейшем случае склонируете на продакшн машину удаленный репозиторий проекта и в конфигах nginx нужно будет написать что-то типа такогоserver {
  server_name company.com;
  root /home/www/company/frontend;
 ...
}
server {
  server_name admin.company.com;
  root /home/www/company/backend;
 ...
}
server {
  server_name service1.company.com;
  root /home/www/company/service1;
 ...
}
server {
  server_name service2.company.com;
  root /home/www/company/service2;
 ...
}Есть еще мнение, что каждый разраб должен разворачивать себе локальное окружение на своем компе, но хз...
Так и делают. Разработчикам не нужен никакой dev сервер. Они клонируют репозиторий, делают что-то локально у себя и отправляют изменения в удаленный репозиторий. Для тестеров и всяких менеджеров просто поднимают так называемый stage-сервер где они и тестируют приложение, но это тоже самое что и продакшн сервер, просто доступ к нему только внутри компании. Можно настроить continuous integration чтобы все изменения из репозитория в master ветке автоматически бы приводили к деплою приложения на stage и продакшн сервера. Примерно так в общих словах устроена веб разработка.

Худший ответ:
У себя я делал так:
Был боевой сервер, например, prosto-tak.ru, и дев сервер - dev.prosto-tak.ru
Под каждого разраба заводил отдельный домен, вроде parotikov.dev.prosto-tak.ru
Затем, у разраба был доступ в панель управления (мы использовали vesta cp), где он мог поверх своего именного субдомена строить дальше иерархию: project1.parotikov.dev.prosto-tak.ru, project2.parotikov.dev.prosto-tak.ru
Дальше, если нужно еще детальнее, можно добавить версию релиза, название ветки, etc: feature.project1.parotikov.dev.prosto-tak.ru, service.project1.parotikov.dev.prosto-tak.ru
Да, выглядит немного избыточно, но стоит один раз всем объяснить эту доменную модель, пространство имен, так сказать, и все становится очень стройно. 
Нагрузка по созданию собственных субдоменов ложилась на самого разраба, благо там делается все в 3 клика. Кому надо - тот и создает себе нужную структуру, а лишнего ничего у него не дублируется.
В разговоре вообще очень просто: говорит тебе Пупкин - открой сайт с веткой branch55 на третьем сервисе. И ты открываешь branch55.service3.project1.pupkin.dev.prosto-tak.ru. А локально у себя, чтоб каждый раз не вбивать длинный урл, можно и в hosts алиас повесить.
P.S: Но если это массово, то лучше какой-нибудь дирижер типа ansible с шаблонами использовать.
Вопрос: Как сделать свойства товаров в БД?

Лучший ответ:
EAV - гуано по производительности
Его можно использовать для первичного хранения данных, перед тем как ты переваришь и выкинешь уже готовые для работы данные в Solr или Sphinx, например.
Но непосредственно для выборки данных EAV использовать нежелательно по соображениям производительности.
Если вам всенепременно хочется это сделать с реляционной СУБД, то вам поможет денормализация (данные будут дублироваться, но это не страшно, зато работать будет шустро).
А если вам хочется сделать это правильно и чтобы работало максимально быстрым образом, то я бы предложил рассмотреть более подходящие для данной задачи системы: Tarantool, Sphinx, 
Solr.

Худший ответ:
Если я правильно понял, то вы в неправильном направлении идете. Товары с разными характеристиками это разные товары, поэтому цену нужно выставлять товару, а не его характеристикам.