Ищем команду разработчиков 1С Битрикс для выполнение задач разной сложности, связанных с разработкой дополнительных блоков и функций на сайте, созданном на движке 1С Битрикс:
Задач будет много разной сложности. Оплата по факту выполнения каждой отдельной задачи.
От вас необходимо: - Самостоятельный рассчет времени, которое Вам необходимо на разработку конкретной задачи - Соблюдение сроков - Быть всегда на связи
Если укладываетесь в тот срок, который сами обозначили, то оплата будет произведена сразу на следующий день, после принятия работы. Если не укладываетесь, то оплата уменьшается на 10% за каждый день просрочки .
От нас: - Много работы и задач для разработки - Своевременная оплата сразу на следующий день, после принятия работы.
Формируем команду из 5 человек. Просьба прислать портфолио и стоимость ваших работ за 1 час на почту:
Добрый день,Ищу двух php программистов на проект. Желательно с опытом работы bitr. Ищу срочно. Готовы сотрудничать с ними и по ГПХ и в штат и с ООО договор и с ИП. Главное - толковые.
Доброго всем дня. Сегодня я представлю на обозрение свой велосипед по реализации логики работы скидок в корзине. Суть задачи была такова: Имеется три вида скидок: скидка товара в традиционном понимании, назовём её "собственная скидка товара", скидка правила работы с корзиной и скидка по купону. Если в корзине будет присутствовать более одного вида скидок, то логика работы должна быть такова: для каждого товара в корзине смотрим какая скидка является наибольшей, её и применяем, остальные скидки не применяются.
Например: Ситуация №1 Ситуация, когда в корзине присутствует скидка правила работы с корзиной (5% если товаров на сумму более 2000 р.) и собственная скидка товара (45%):
Предыдущее состояние было таким: присутствовали только собственные скидки товаров (2% и 45%): Соответственно скидка правила работы с корзиной (5%) перекрыла скидку 2%, но не тронула 45%.
Ситуация №2 В корзине будет присутствовать скидка по купону. Исходное состояние корзины, только собственные скидки товаров:
Применён купон, дающий скидку 20%
Применён купон (4%) и правило работы с корзиной (5%):
Предыдущее состояние, активно только правило работы с корзиной (5%):
Применён купон, дающий скидку 20%, он перекрыл правило работы с корзиной (5%):
Правило работы с корзиной (5%) и собственная скидка товара (45%):
Применён купон, дающий скидку 50%. Он перекрыл и собственные скидки товаров и правило работы с корзиной, т.к. размеры их скидок были меньше
Применён купон, дающий скидку 20%. Скидка 45% осталась нетронутой, на остальные товары скидка купона повлияла.
Применён купон 4% скидки, но он не перекрыл ни одну их скидок:
Вообщем, всю суть вы поняли. Теперь настройки в админке.
Настройки купонов:
Настройки правил работы с корзиной:
Для элементов инфоблока с товарами было создано поле, в которое помещалось значение собственной скидки товара:
Теперь программная реализация.
Вспомогательные методы были помещены в хелпер
use Bitrix\Main\Application;
use Bitrix\Main\Web\Uri;
/**
* Class Helper
*/
class Helper {
//вспомогательные функции для работы со скидками в корзине
public static function getDiscountHandlers($discountList)
{
$result = array();
if (!empty($discountList) && is_array($discountList))
{
$moduleList = \Bitrix\Sale\Internals\DiscountModuleTable::getByDiscount($discountList);
if (!empty($moduleList))
{
foreach ($moduleList as $discount => $discountModule)
{
$result[$discount] = array(
'MODULES' => $discountModule,
'EXT_FILES' => array()
);
}
unset($discount, $discountModule, $moduleList);
}
}
return $result;
}
public static function __Unpack($arOrder, $strUnpack)
{
$checkOrder = null;
if (empty($strUnpack))
return false;
eval('$checkOrder='.$strUnpack.';');
if (!is_callable($checkOrder))
return false;
$boolRes = $checkOrder($arOrder);
unset($checkOrder);
return $boolRes;
}
public static function __ApplyActions(&$arOrder, $strActions)
{
$applyOrder = null;
if (!empty($strActions))
{
eval('$applyOrder='.$strActions.';');
if (is_callable($applyOrder))
$applyOrder($arOrder);
}
}
public static function getDiscountResult(&$oldOrder, &$currentOrder, $extMode = false)
{
$extMode = ($extMode === true);
$result = array();
if (isset($oldOrder['PRICE_DELIVERY']) && isset($currentOrder['PRICE_DELIVERY']))
{
if ($oldOrder['PRICE_DELIVERY'] != $currentOrder['PRICE_DELIVERY'])
{
$absValue = $oldOrder['PRICE_DELIVERY'] - $currentOrder['PRICE_DELIVERY'];
$fullValue = ($extMode && isset($currentOrder['PRICE_DELIVERY_ORIG']) ? $currentOrder['PRICE_DELIVERY_ORIG'] : $oldOrder['PRICE_DELIVERY']);
$percValue = ($fullValue != 0 ? $absValue*100/$fullValue : 0);
$result['DELIVERY'] = array(
'TYPE' => 'D',
'DISCOUNT_TYPE' => ($currentOrder['PRICE_DELIVERY'] < $oldOrder['PRICE_DELIVERY'] ? 'D' : 'M'),
'VALUE' => $absValue,
'VALUE_PERCENT' => $percValue,
'DELIVERY_ID' => (isset($currentOrder['DELIVERY_ID']) ? $currentOrder['DELIVERY_ID'] : false)
);
unset($percValue, $fullValue, $absValue);
}
}
if (!empty($oldOrder['BASKET_ITEMS']) && !empty($currentOrder['BASKET_ITEMS']))
{
foreach ($oldOrder['BASKET_ITEMS'] as $key => $item)
{
if (!isset($currentOrder['BASKET_ITEMS'][$key]))
continue;
if ($item['PRICE'] != $currentOrder['BASKET_ITEMS'][$key]['PRICE'])
{
$newItem = &$currentOrder['BASKET_ITEMS'][$key];
$absValue = $item['PRICE'] - $newItem['PRICE'];
$fullValue = ($extMode && isset($newItem['PRICE_ORIG']) ? $newItem['PRICE_ORIG'] : $item['PRICE']);
$percValue = ($fullValue != 0 ? $absValue*100/$fullValue : 0);
if (!isset($result['BASKET']))
$result['BASKET'] = array();
$result['BASKET'][] = array(
'TYPE' => 'B',
'DISCOUNT_TYPE' => ($newItem['PRICE'] < $item['PRICE'] ? 'D' : 'M'),
'VALUE' => $absValue,
'VALUE_PERCENT' => $percValue,
'BASKET_NUM' => $key,
'BASKET_ID' => (isset($newItem['ID']) ? $newItem['ID'] : '0'),
'BASKET_PRODUCT_XML_ID' => (isset($newItem['PRODUCT_XML_ID']) && $newItem['PRODUCT_XML_ID'] != '' ? $newItem['PRODUCT_XML_ID'] : false),
'PRODUCT_ID' => $newItem['PRODUCT_ID'],
'MODULE' => $newItem['MODULE']
);
unset($percValue, $fullValue, $absValue, $newItem);
}
}
}
return $result;
}
}
Всем добрый день. Есть сайт на битриксе 16.5.8 Задача - через GetList получить элементы, у которых свойство Привязка к элементу имеет определенное значение.
Пообщавшись с умными людьми и потратив много времени на раздумья, мы решили сделать абсолютно весь функционал нашего сервиса бесплатным. То есть создать, скачать, изменить и снова скачать модуль теперь можно не заплатив абсолютно ничего. Кстати, со времени релиза, сайт стал ещё удобнее, это можно увидеть по прежней ссылке И, конечно, же пишите про свои проблемы и пожелания, так как мы пытаемся создавать и развивать только тот функционал, который нужен пользователям. Мы даже создали специальное голосование для этого
Как широко известно, с 1 января 2017 года наступает три важных события в жизни интернет-магазинов.
Google и Mozilla выпускают новые версии популярных браузеров Google Chrome и Firefox, которые начнут помечать сайты, работающие без ssl-сертификата, как небезопасные. И предупреждать об этом пользователей. Ничего ужасного, но доверие к таким сайтам упадет.
Поисковые системы начнут приоритетно ранжировать сайты, работающие по HTTPS, с ssl-сертификатом
Начинается подготовка к передаче данных об онлайн-оплатах в интернет-магазинах в ФНС через операторов фискальных данных. Обязательное подключение интернет-касс начнется с 01 июля 2017. Для передачи потребуется SSL-сертификат. Настроить ваш интернет-магазин на
План работ
SSL-сертификат используется для шифрования трафика между сервером интернет-магазина и браузером пользователя. В большинстве случаев он гарантирует, что никто не "подслушивает" и не подменяет данные.
Итак, нам нужно перевести интернет-магазин на HTTPS. Эта задача решается в несколько крупных шагов:
Достать ssl-сертификат.
Установить ssl-сертификат на хостинг.
Настроить сайт.
Оповестить поисковые системы о переходе на HTTPS.
Обо всем по порядку.
Шаг 1. Покупаем или устанавливаем бесплатный SSL-сертификат
Базовый ssl-сертификат (domain validation - DV)
Обычно ssl-сертификат покупают на 1 год или более (далее его надо снова покупать). Минимальная стоимость ssl-сертификата - 600 рублей, эту цену легко найти через поисковик. За 600 рублей можно купить базовый ssl-сертификат компании Comodo на 1 год для одного доменного имени, например, magazin.ru и .
Сертификаты такого уровня дают нормальную базовую защиту (проверяется лишь факт принадлежности вам домена), признаются большинством браузеров, но не имеют дополнительного подтверждения: имя вашей компании не покажется при проверке сертификата. Заветная иконка замочка будет показана на сайте, но большинство браузеров отобразят его в сером цвете. Как, например, у нас :
Если вам нужен сертификат на несколько доменов, его стоимость возрастет. Wildcard-сертификаты, которые можно устанавливать на любое число поддоменов, например, test.magazin.ru, piter.magazin.ru, ufa.magazin.ru, стоят от 7 тысяч рублей и выше. Для крупных магазинов, может быть, это не является проблемой, но средние и небольшие магазины лучше потратят эти деньги на развитие сайта.
Подведем итог. Базовый ssl-сертификат:
шифрует трафик;
повышает доверие клиентов к сайту;
подтверждает только доменное имя сайта.
добавляет заветный замочек в браузере к адресу сайта;
можно купить на один или несколько поддоменов;
доступен физическим или юридическим лицам;
дешев и сердит).
Деловой ssl-сертификат (Company/Organization validation) Отличается от базового процедурой проверки компании, которая покупает сертификат, по ЕГРЮЛ. Имя компании, адрес ее местонахождения будут отображены в подробной информации о сертификате. Но при этом "заветный замочек" все еще будет серым. Начинается стоимость таких сертификатов от 5000 р. Для кириллических доменов, есть сведения, дешевле.
Характеристики делового ssl-сертификата:
шифрует трафик;
повышает доверие клиентов к сайту;
подтверждает доменное имя, название и адрес компании;
добавляет серый замочек к адресу сайта в браузере;
можно купить на один или несколько поддоменов;
доступен только юридическим лицам;
добавляет компанию в реестр на dnb.ru или yp.ru
не столь дешевый, но и менее сердитый 8).
SSL-сертификат с расширенной проверкой (тот самый зеленый замочек - EV) Дает максимальную уверенность пользователям, но нужен только для крупных интернет-магазинов. Для получения сертификата надо пройти расширенную проверку телефона компании, юридического лица, должностного лица, подающего заявку. Процедура ускоряется, если у компании уже есть регистрация в реестрах.
Платим от 13 000 рублей и, наконец, искатели заветного зеленого замочка достигают своей мечты:
Характеристики расширенного ssl-сертификата:
шифрует трафик также, как и другие типы сертификатов;
дает максимальное доверие клиентов к сайту;
выводит имя компании рядом с адресом сайта.
добавляет зеленый замочек в браузере к адресу сайта;
можно купить только на один домен;
доступен только юридическим лицам;
добавляет компанию в реестр на dnb.ru или yp.ru
Самый дорогой вариант.
Как получить ssl-сертификат бесплатно
Чтобы сделать интернет безопаснее, крупные западные корпорации совместно с фондом Electronic Frontier Foundation основали первый некоммерческий авторизационный центр Let's Encrypt. Подробнее - см. по (на английском). Сервис разработан и поддерживается компанией Internet Security Research Group (ISRG).
Суть этого сервиса в том, что теперь любой сайт может бесплатно получить ssl-сертификат и продлять его без ограничения срока.
Получить бесплатный ssl-сертификат можно двумя способами:
Вручную на сайте и далее через раздел Ручной режим -
Полуавтоматически или автоматически (в зависимости от ПО вашего сервера, на котором работает интернет-магазин, сайт или Битрикс24) через бота Certbot
Если Вы решили получить сертификат вручную, а затем установить его на свою Виртуальную машину Bitrix VM, воспользуйтесь .
Шаг 2. Установка ssl-сертификата на сервер
Если ваш интернет-магазин, сайт или портал Битрикс24 в коробке работает на виртуальной машине Битрикс, вы сможете установить и настроить ssl-сертификат от Let's Encrypt при наличии у вас базовых знаний по администрированию серверов на Unix. Если вы не хотите тратить свое время или не обладаете такими навыками, пожалуйста, обращайтесь в нашу компанию, мы поможем перевести ваш сайт на HTTPS.
Если сайт работает на shared-хостинге, стоит обратиться к хостинг-провайдеру для установки ssl-сертификата. Процедура установки сертификата Let's Encrypt на сервера без виртуальной машины принципиально не отличаются. В помощь Вам будет этот мастер на сайте Certbot - .
Стоит заметить, что для большинства веб-серверов Certbot работает в автоматическом режиме: он получает, устанавливает и продляет сертификаты самостоятельно. Например, Apache на Ubuntu Server 16.10. А вот для Nginx на CentOS 6 не содержит в своем репозитории Certbot и работает только в ручном режиме. Подробнее - см.
Установка ssl-сертификата Let's Encrypt на Виртуальную машину Битрикс
Как мы помним, за работу по HTTPS в виртуальной машине Битрикс отвечает NGINX. Мы вернемся к нему, как только получим сертификат.
1. Для начала зайдем установим Certbot
Зайдем на сервер с интернет-магазином по ssh с правами root и установим Certbot в папку /usr/local/sbin напрямую в с сайта EFF.
$ cd /usr/local/sbin
$ sudo wget https://dl.eff.org/certbot-auto
Получить последнюю версию Certbot можно также с Github (убедитесь, что у вас есть git):
$ cd /tmp
$ git clone https://github.com/certbot/certbot
Далее переходим в директорию со свежескаченным Certbot-ом и дадим боту права на исполнение:
$ sudo chmod a+x /usr/local/sbin/certbot-auto
2. Приступим к получению сертификата. Для получения сертификата необходимо выполнить команду с вызовом Certbot'a с определенными параметрами:
--webroot — специальный ключ, повышающий надежность работы Certbot под Nginx; --agree-tos — автоматическое согласие с Условиями предоставления услуг (Terms of Services; --email — Ваш e-mail. Будьте внимательны, его нельзя изменить, он потребуется, например, для восстановления доступа к домену и для его продления; -w /home/bitrix/www — указываем корневую директорию сайта основного сайта; если у вас несколько многосайтовая конфигурация, укажите путь к доп. сайту - /home/bitrix/ext_www/ -d domen.ru — через ключ -d мы указываем, для каких доменов мы запрашиваем сертификат. Начинать надо c домена второго уровня domen.ru и через такой же ключ указывать поддомены, например, -d -d opt.domen.ru
Скрипт Certbot начнем свою работу, предложит установить дополнительные пакеты, соглашайтесь и ждите окончания работы.
При успешном завершении работы Certbot поздравляет Вас с генерацией сертификата и выдает следующее сообщение:
IMPORTANT NOTES:
- If you lose your account credentials, you can recover through
e-mails sent to sammy@digitalocean.com
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/domen.com/fullchain.pem. Your
cert will expire on 2017-03-12. To obtain a new version of the
certificate in the future, simply run Let's Encrypt again.
- Your account credentials have been saved in your Let's Encrypt
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Let's
Encrypt so making regular backups of this folder is ideal.
- If like Let's Encrypt, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
* - если вместо этого сообщения появляется ошибка "Failed to connect to host for DVSNI challenge ", то вам необходимо настроить ваш Firewall так, чтобы был разрешен TCP-трафик на портах 80 и 443. ** - если вы используете сервисы типа Cloudflare для вашего домена, предварительно отключите их на время генерации сертификата.
3. Настройка Nginx
Ура! Мы получили бесплатный ssl-сертификат на 3 месяца. Нам осталось только настроить Nginx и поставить автоматическое продление сертификата на cron.
Но сначала давайте повысим уровень безопасности и сгенерируем группу . Это повысит уровень шифрования и поможет нам в дальнейшем получить оценку А+ при проверке сертификата.
Теперь каждый понедельник в 2-30 наш сертификат(ы) будет продляться автоматически, результат запишется в лог. В 2-35, после продления сертификата, перезагрузится конфигурация Nginx.
Вручную же можно продлить сертификаты следующей командой:
$ certbot-auto renew
Так как наши сертификаты уже сгенерированы, Certbot их просто продлит.
Если теперь вы хотите переключить весь трафик на HTTPS, то в ВМ Битрикс это делается согласно .
Итог
Мы узнали, зачем нужен ssl-сертификат, какие виды сертификатов бывают.
Получили бесплатный ssl-сертификат или купили его.
Установили ssl-сертификат на сайт и проверили, что теперь сайт работает по HTTPS, как того добивался великий Google и иже с ними.
Про настройку интернет-магазина под HTTPS и оповещение поисковиков мы напишем в следующей статье.
Не прошло и пару месяце, как вышел в свет наш новый модуль , а он уже заставляет нас упоминать о себе. Но для начала напомним, для чего же нужно вообще это решение.
-- позволяет изменять цену (как в большую, так и меньшую сторону) по нестандартным условиям, которые не включены в поставку Битрикс. Условия и зависимости изменения цен могут быть следующими:
Переход со стороннего сайт
IP адрес
День недели
Местоположение
Устройство - Iphone, Android и др.
Get запрос
Куки
Количество товаров в корзине пользователя
Сумма корзины пользователя
Сумма оплаченных заказов пользователя (месяц, неделю, год)
А это значит, что теперь можно создавать интересные сценарии, такие как:
Повысить цену для айфонолюбителей и понизить для андроидов
Понизить цену жителям Владивостока и повысить, например, москвичам
Увеличить цену при переходt человека с директа и понизить – с чистого сео.
И другое
Но нам этого показалось мало. Очень часто владельцы интернет-магазинов боятся повышать (либо понижать, что реже) цену из-за неизвестного поведения пользователей после этого. Из-за этой нерешительности интернет-магазин недополучает возможную увеличенную прибыль.Теперь мы создали инструмент, который значительно добавит смелости владельцам интернет-магазинов – A/B тестирование цен. Это значит, что вы можете исследовать поведение пользователей при изменении цен по определенному условию.
A/B тестирование работает по следующей схеме:
A - то, что мы имеем на текущий момент (текущая цена). B - то, с чем вы будете экспериментировать (новая цена)
Выделяется 10% (процент можно изменить в настройках) посетителей интернет-магазина для тестирования
Для половины будет показываться цена A, для другой половины - цена B.
Для каждого из вариантов производится расчет всех ключевых показателей: конверсия, оформлено заказов, оплачено заказов, количество товаров в корзине.
Теперь анализируйте графики и сводные таблицы, чтобы понять: растет конверсия или падает? Определяйте динамику роста или падения. На основе всего этого делайте вывод: убыток или прибыль принесут Вам изменения, нужно ли вообще повышать либо понижать цены?
А продолжает развитие действительно нужных модулей, которые буду закрывать реальные потребности владельцев интернет-магазинов.
Здравствуйте. Стоит у меня одна задача, в процессе которой мне пришлось отказаться от использования старого доброго Add2BasketByProductID дабы иметь возможность повесить свой PRODUCT_PROVIDER_CLASS на товары, добавляемые в корзину. Простое добавление в корзину работало прекрасно. Но при добавлении свойств начались проблемы. В итоге вышло вот что:
Понятное дело, что это не весь файл, но суть не в этом. Моя проблема была в том, что я пытался добавить свойства к созданному товару до сохранения корзины. Не надо так. До того, как вы сделаете $basket->save() у свежесозданного товара нет ID. Точнее ID=0. То есть, если сделать так:
$item = $basket->createItem('catalog', $productId); //создаём новый товар в корзине
$item->setFields(array(
'QUANTITY' => $quantity,
'CURRENCY' => Bitrix\Currency\CurrencyManager::getBaseCurrency(),
'LID' => Bitrix\Main\Context::getCurrent()->getSite(),
'PRODUCT_PROVIDER_CLASS' => 'CCatalogProductProviderCustom',
));
$basketPropertyCollection = $item->getPropertyCollection();
$basketPropertyCollection->setProperty($properties);
$basketPropertyCollection->save(); // сохранение свойств
$basket->save(); //сохраняем изменения в корзине
Свойства привяжутся к товару с ID=0, после сохранения товару присвоится его настоящий ID в корзине, а привязка останется к 0. А с таким порядком действий, как в верхнем примере будет каждый раз искаться товар с заданными свойствами, а так как такого нет, будет создаваться новый. Поэтому: сначала $basket->save(), а только после этого $basketPropertyCollection->setProperty().
Надеюсь кому-то это пригодиться.
P.S. Ещё стоит небольшое внимание обратить на вот это
Если проигнорировать второе условие, то в случае если никакого свойства не выбрано (а значений у этого свойства много больше, чем можно выбрать, так что есть смысл и пустым оставить, а потом в комментариях прописать отдельно), товар будет добавляться с пустым свойством к первому попавшемуся товару в корзине с таким же $productId и заполненным свойством. Это чуть более очевидно, чем всё остальное, но всё-таки достойно упоминания.
UPD. Как правильно заметил Евгений Микулич в комментариях, необязательно отдельно сохранять свойства. Можно добавить их до сохранения корзины и просто не делать $basketPropertyCollection->save().
Коллеги может кому будет полезно. Частенько клиенты просят включать маски ввода в полях формы, но всеми любимый masked.input под jQuery странно ведет себя на Андроидах. Сегодня нарыли решение от битрикса на BX, вроде все работает. Пример вызова
Как отключить кэширование? Вообще. Целиком и полность. Чтобы не создавалась папка "cache". И чтобы в ней ничего не создавалось. В настроках автокэширования все отключено. В коде отключено. Но тем не менее кэш появляется и там создаются файлы. Стили шаблона ссылаются на файлы из кэша, но кэширование отключено.
Интернет-магазин Dzagigrow расширяет отдел программной разработки. Мы ищем опытного программиста, который станет частью нашей команды. Нащ магазин работает по всей России, отправляя сотни заказов ежемесячно. Перед компанией стоят сложные и амбициозые задачи по созданию качественного сервиса для клиентов.
Обязанности: 1. Сопровождение сайтов на платформе 1С-Битрикс, выполнение работ по модернизации и доработке сайта 2. Разработка новых блоков и модулей для сайтов на платформе 1С-Битрикс 3. Создание новых сайтов на платформе 1C-Bitrix 4. Внедрение системы контроля версий Git и ее дальнейшее использование
Требования: 1. ЗнаниеAJAX, PHP, JavaScript, HTML, CSS, MySQL) 2. Умение быстро разбираться в чужом коде, 3. Ответственный подход к качеству кода и его документированию 4. Умение соблюдать поставленные сроки.
Условия работы: 1. Полная занятость 2. Пн-пт 10:00-18:00 3. Размер заработной платы по результатам собеседования. 4. Адрес офиса: г. Пермь, ул. Дзержинского 59
Меняю тайтл в SEO в каком нибудь разделе далее захожу в подраздел, и тайтл от раздела меняется и в подразделе, а нужно чтобы я мог редактировать только название определенного раздела при этом не затрагивать другие. Как это можно исправить?
Столкнулся с проблемой выгрузки проекта на BitBucket Исходные данные: Проект на 1С-Битрикс: Бизнес Хостинг: Masterhost Место хранения репозитория: BitBucket.org
Добавляю контроль над текущей папкой (нахожусь в папке www проекта)
git add .
git commit -m "Initial commit"
Далее пытаюсь выгрузить проект на BitBucket.org
git push -u origin master
Ну и получаю ошибку:
Counting objects: 33488, done.
Delta compression using up to 24 threads.
fatal: inflateInit: out of memory (no message)
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'https://<>@bitbucket.org/<>/<>.git'
fatal: write error: Bad file descriptor
Перерыв несколько форумов удалось найти рабочее решение:
Убираем / скрываем ненужные события из живой ленты Битрик24
Столкнулся с проблемой в Битрикс24 коробочная версия, надо было убрать из живой ленты события типа "Добавлен новый сотрудник" и т.д. Поиски и курение мануала по компоненту через админ часть ничего не дало, т.к. из UI ничего нельзя настраивать, пришлось лезть в код.
Скопировал компонент в папку /local/components/webbs/socialnetwork.log.ex/ (вместо webbs можете ставить свое название папки) Также пришлось копировать шаблон компонента в папку шаблоне сайта в /components/webbs/socialnetwork.log.ex/
1. В index.php вместо bitrix поставил название своей рабочей папки, webbs. 2. в template.php шаблона компонента, заменил все пути /bitrix/components/bitrix/ на свой путь. 3. в component.php компонента, добавил
Появилась надобность выставлять счета в разных валютах, но столкнулись с проблемой - тип валюты не выбирается, а просто выставляется базовый по умолчанию. Т.е. если у вас две валюты - рубли и гривны, то вы сможете выставлять счета только меняя базовую валюту в конфигах валют в crm(это реальный совет где-то вычитал).
Вот так выглядит стандартная форма добавления счета
Что мы получим в итоге
Все, что необходимо сделать это кастомизировать компонент crm.invoice.edit. В конце статьи приложу готовый код component.php.
Что делаем?
1. Создаем пространство имен, ну например /bitrix/components/dev/ 2. Копируем туда компоненту crm.invoice.edit 3. В скопированной компоненте заменяем component.php (будет прикреплено к статье) 4. Далее копируем шаблон комплексной компоненты отвечающей за раздел счетов. Идем сюда /crm/invoice/list/ . Режим правки. И копируем компонент в шаблон, применяя новый шаблон. 5. Затем идем в шаблон сайта /<шаблон сайта>/bitrix/components/crm.invoice/custom_invoice_edit/edit.php и заменяем там стандартную компоненту на свою, которую скопировали в п.1.
Вот и все, можно пользоваться. Далее уже разберу что менялось в component.php.
Теперь немного проблематики, разберем component.php
1. Задается всегда базовая цена сайта для счета. Пришлось менять со стандартного.
Погоня за увеличением скорости загрузки страниц продолжается. Представим, что мы всё сжали, минифицировали, объединили в один файл, скрипты "опустили", используем svg-спрайты и всё в этом духе. Что дальше? Одно из трендовых инноваций сегодня (особенно актуально на мобильниках), это размещение стилей верхней части страницы прямо в тег head и асинхронная подгрузка остальных файлов. Данную рекомендацию сплошь и рядом пропагандируют все сервисы тестирования производительности, в том числе и , так как браузер не начнёт рендерить страницу и не покажет её пользователю, пока не получит все linkи в head. .
В своём примере я не выделяю стили верхней части страницы, а подключаю весь закешированный битриксом файл стилей в теге head. Хочу сразу предупредить, что данный метод стоить тестировать на производительность на конкретном сайте, в некоторых случаях это может увеличить First byte из-за работы с большими строками через регулярные выражения, в некоторых сильно увеличит объём страницы и уменьшит объём кешируемых данных, что приведёт к обратному эффекту.
/* Для замера скорости работы */
$start = microtime(true);
/* Получить пути подключенных файлов стилей */
$css_str = Bitrix\Main\Page\Asset::getInstance()->GetCSS();
preg_match_all('/href="(.*)"\stype/', $css_str, $matches);
/*
* Перебираем результат, так как метод возвращает все подключаемые файлы стилей
* нас интересует только кеш объединённых файлов, содержит в названии 'template_'
*/
foreach($matches[1] as $val)
{
$val = explode('?', $val);
$full_path = $_SERVER['DOCUMENT_ROOT'] . $val[0];
/*
* Производим подмену только для закешированного объединённого файла
* если он существует и не пуст (на пустоту проверка дальше)
*/
if (strpos($full_path, 'template_') !== false && file_exists($full_path))
{
$st yle = trim( file_get_contents($full_path) );
if (!empty($style))
{
$search = '<st yle type="text/css"></style>';
$replace = '<st yle type="text/css">'. $style .'</style>';
// Вставить стили
$content = str_replace($search, $replace, $content);
// Вырезить <li nk>
$content = preg_replace('/<li nk\shref="'. addcslashes($val[0], '/') .'(.*)>/', '', $content);
}
}
}
/* Вставляем время исполнения кода в заранее подготовленное место */
$content = str_replace('#time_replace#', microtime(true) - $start, $content);
Немного истории. Bitrix Framework буфферизирует весь клиентский код. Данный подход делает возможным работу отложенных функций и прочей манипуляции с содержимым сайта «выше», после того как мы находимся уже совершенно в другой части исполнения страницы и не имеем возможности перепроектировать последовательность под конкретный случай.
В своём решении я использую событие OnEndBufferContent (вызывается при выводе буфферизированного контента), у него имеется один аргумент $content – тот самый буфферизированный контент, который мы будем править.
Идеязаключается в том, чтобы найти подключенный закешированный (объединённый и минифицированный) файл стилей, получить его содержимое, вырезать его подключение из кода и вставить содержимое в теге <style> в head. Маркер для вставки в виде пустого блока стилей, на случай если что-то пойдёт не так, страница останется целой и валидной:
<st yle type="text/css"></style>
Метод будет работает стабильно всегда, так как получает имя сгенерированного битриксом файла через специальный api-метод, ищет его в контенте и ещё раз проверяет файл по имени (содержит template_), проверяет его существование на сервере и если он не пустой, вставляет в документ и очищает контент от link’a только вставленного файла.
Результат можно посмотреть , не обещаю, что будет всегда включено Ещё, кстати, убираю css-комментарии и лишние переносы, это просто по фану. Не рекомендую сильно заморачиваться, также не рекомендую заморачиваться по поводу вырезания пробелов или ещё какой-то манипуляции с контентом, так как не стоит забывать, что html-результат сжимается gzip’ом, по хорошему конечно Но когда вы дойдёте до применения вставки стилей в head, то всё остальное по умолчанию у вас будет по феншую.
/*
* Убрать комментарии из стилей и лишние переносы
* можно применить как ко всему контенту, так и только к файлам стилей, но лучше вообще не заморачиваться :)
*/
$arReplace = array(
"/\\/\\*(.*)\\*\\//" => "",
"/\n+/" => "\n",
);
$content = preg_replace(array_flip($arReplace), $arReplace, $content);
Метод протестирован с объединёнными файлами стилей и без, со сжатыми, минифицированными и без. Даже если вдруг произойдёт вставка не того файла, то только его подключение и будет вырезано, но такого замечено не было. Ещё по поводу времени исполнения, решайте сами, что для вас быстро или медленно, смотрите как это влияет на общую скорость отработки страницы в вашем случае. У меня это ~0,0009, но и контента на приведённом в примере сайте очень мало. Также не стоит забывать, что подключенные внешние файлы стилей будут кешироваться браузером и такой прямой подход как здесь увеличит объём страницы и уменьшит кол-во кешируемых данных, так что подходит не везде. Если у вас не много стилей, маленький или среднего размера проект, то скорее всего вы получите прирост. На крупных проектах метод не стоит использовать или стоит дорабатывать.
Ремарка про шрифты,
var resource = document.createElement('link');
resource.setAttribute("rel", "stylesheet");
resource.setAttribute("href","https://fonts.googleapis.com/css?family=Open+Sans+Condensed:700|Open+Sans:400,600&subset=cyrillic,cyrillic-ext");
var head = document.getElementsByTagName('head')[0];
head.appendChild(resource);
Код асинхронно подгружает файлы шрифтов, подключаемых с fonts.googleapis.com. Но это создаёт одну неприятность. После загрузки шрифта, если в этот момент сайт уже отрендерин, страница заметно моргнёт. Проблему наблюдал в chrome, решение искать не стал и от идеи отказался, мигание ушло. Если вас ваше руководство/клиента это устроит, используйте, гугл прибавит вам пару «попугаев» к тесту. Если кому известно в чём причина и как исправить, пишите в комментариях. Наличие или отсутствие data-skip-moving на результат не влияет. При повторном открытие стр. проблемы нет, так как файл шрифтов уже в кеше браузера.
Традиционно в конце года я подвожу итоги нашей работы и намечаю планы на следующий год, чтобы нашим друзьям партнёрам было что почитать в блогах 31 и 1 числа, наметить собственные планы
2016 год оказался для нас очень результативным и эффективным. И хотя мы не ставили перед собой каких-то амбиционных планов по захвату вселенной, а прежде всего концентрировались именно на самом процессе — темп работы всей нашей команды все равно был невероятно высоким, а количественные результаты так же сильно выросли. Так в 2016 году мы имеем новый рекорд по продажам (рост 70% относительно 2015 г.), по маркетинговой активности (провели десятки вебинаров, которые выкладываем ), по производству продуктов, по количеству новых клиентов и объему оказанной им технической поддержки (решено около 10 000 тикетов.)
Не смотря на то, что в 2016 году в 1С-Битрикс Маркетплейс пришло множество новых сильных авторов и молодых команд — ROMZA по прежнему остается в А стабильность — это признак мастерства! Кроме того, мы приняли активное участие в программе качества внедрений и впервые вошли в (это из более чем 16400 компаний!) И какое-то время даже находились в приносящих наибольшее количество денег в компанию 1С-Битрикс.
Все это получилось само собой, как сопутствующий результат организованной нами деятельности, без каких либо специальных усилий с нашей стороны и от того является для нас очень приятным сюрпризом!
А еще трое наших разработчиков одними из первых прошли новые очные экзамены 1С-Битрикс, двое из них (Артем Морозов и Денис Зимин) сдали все максимально возможные экзамены и курсы — и теперь на карточке нашей компании гордо красуется лейбл "Аттестованные разработчики", а мы ждем когда 1С-Битрикс придумает что-нибудь еще, что можно будет пройти и сдать
В двух словах, о выпущенных нами за год новых решениях и модулях:
март 2016
Очень удобная доска объявлений для размещения вакансий и резюме.
Наша проектная группа: Дизайнер: Анна Кузнецова Front-End разработка: коллективная под руководством Михаила Ульянова Back-End разработка: Артём Морозов Демонстрационный контент: Тимофей Конов Руководитель проекта: Роман Забродин
май 2016
Это специальная редакция нашего флагманского типового решения Битроник 2. Уникальное решение, которое позволяет сразу получить на своем сайте до 100 000 000 товаров из Китая!
июль 2016
Изначально мы выпускали мы его ориентируясь на строительные материалы, но затем переделали в полностью универсальный магазин и активно его развиваем!
Наша проектная группа: Дизайнер: Анна Кузнецова Иллюстрации: Мария Вишнякова Front-End разработка: Михаил Ульянов Back-End разработка: Артём Морозов Демонстрационный контент: Тимофей Харитонов Руководитель проекта: Роман Забродин
июль 2016
Наша проектная группа: Дизайнер: Мария Вишнякова Front-End разработка: Екатерина Суровцева Back-End разработка: Александр Мартынов Руководитель проекта: Роман Забродин
сентябрь 2016
Это решения мы так же изначально делали как магазин мебели, но затем доработали его до универсального и сейчас очень активно наращиваем его функционал!
Наша проектная группа: Дизайнер: Анна Кузнецова Front-End разработка: Александра Шумкова Back-End разработка: Артём Морозов Руководитель проекта: Роман Забродин
октябрь 2016
Это изюминка 2016 года! Типовое решение, которое мы выпустили от совместного предприятия со студией дизайна "Чипса" являющихся лидерами всевозможных рейтингов российских студий веб-дизайна. Так же мы готовим к выпуску новые типовые решения используя энергию синергии наших команд! О чем расскажем вам позже..
декабрь 2016
Небольшой, но очень полезный для SEO модуль.
Все наши типовые решения мы активно развиваем и за год выпустили просто огромное число их обновлений. Так только по нашему флагманскому типовому решению трансформеру Битроник 2 было выпущено 8 здоровенных обновлений и вагон обновлений размером поменьше — содержащих множество новых полезных функций и даже рестайлинговую версию дизайна!
Ежемесячные обновление в течении года! Самое функциональное типовое решение в Маркетплейс на сегодняшний день!
За год на наших типовых решениях были запущенны сотни сайтов по всей России, Украине, Белоруссии, Казахстану, США, Англии, Мексики и в других странах. Мы получили десятки благодарных отзывов о нашей работе!
Еще мы начали большой проект по повышению удобства работы с нами для , создали , создали , начали создание учебных курсов и документации для разработчиков и пользователей.
В течении года через нашу команду прошло множество новых интересных людей и каждый привнес в нашу работу свои идеи, видение, таланты и компетенции. Кто-то сейчас работает над нашими новыми проектами, кто-то поработав и набравшись у нас опыта запустил собственный бизнес и мы продолжаем сотрудничать уже в формате партнеров. В этом плане жизнь у нас кипит! А еще мы получили опыт и первые продажи работая на зарубежных площадках с другими платформами. Чуть не стартанули пару собственных проектов, но пока отложили их...Так же мы решали свои хозяйственные вопросы: долго выбирали и наконец переехали в новый офис с очень красивым видом на знаменитый красноярский мост через могучую реку Енисей (смотрите 10-рублевую купюру), приобретали необходимую нам для работы оргтехнику, отдыхали и праздновали и так далее. В общем событий было много — всего и не расскажешь!
Какие у нас планы на 2017 год? Выпустить множество новых уникальных полезных типовых решений, как силами своей команды, так и объединяя усилия с другими яркими командами. На радость всем нашим клиентам и партнёрам! А так же: Работать. Делать то, что нам нравится. Отстраивать бизнес-процессы в созданных нами отделах. Изучать и применять новые технологии. Совершенствовать регламенты и методы работы. Повышать свой профессионализм. Раскрывать таланты наших сотрудников. Принимать в команду новых людей и новые идеи. Делиться опытом. Становиться лучше чем мы сами были вчера!
Здравствуйте, друзья! Вот и наступает время, когда мы постепенно провожаем уходящий 2016 год и встречаем Новый 2017 Год. Это самое удачное время для подведения итогов уходящего года и постановки целей и планов Нового Года. Поэтому компания по традиции подводит свои итоги: к чему мы пришли и туда ли мы движемся?
А теперь обо всех аспектах по порядку
Планы и цели
Первые дни 2016 года прошли в составлении планов и целей на новый рабочий год. Мы с действительно серьезным видом оценивали наши возможности с нашими желаниями. В итоге цели были разделены на две составляющие: продуктовые (что мы планируем запустить в новом году) и финансовые (сколько мы хотим заработать в новом году).
Вроде бы на бумаге все должно быть хорошо, но что-то шло не так. Прошел первый квартал, но продуктовые показатели не выполнялись, да и денежные тоже. Где-то у нас образовалась ошибка: продукты у нас уходили на второй план, когда появлялась возможность получить денежные средства здесь и сейчас. И в итоге: ни продуктов, ни денег. И мы поняли, что в нашем плане деньги и продукты никак не связаны. Словно мы рассматриваем их отдельно. А все должно быть взаимосвязано.
И теперь мы на первое место устанавливаем финансовые показатели. Далее делаем декомпозицию, то есть то, как мы будем их зарабатывать: наши действия и шаги. Вот по такой схеме можно чего-то достигнуть. Все должно быть взаимосвязано.
Переход на собственные продукты
В этом году мы четко решили работать только над собственными продуктами. Все обращения по поводу разработки интернет-магазина с нуля нами отклонялись. С нуля было выполнено пару проектов для наших текущих клиентов по их просьбе. Ведь развивать свой продукт куда интереснее, чем писать километровые ТЗ для клиента, которое в процессе работы все равно будет переделано.
Теперь мы готовы конкретно предложить клиенту готовый продукт, в котором заранее известны все функциональные особенности. При необходимости мы внедрим данный продукт, проведем стилизацию, доработаем новый функционал. Все отлажено по часам и просрочек не имеет. Вот в таком ключе приятно и комфортно работать . Поэтому теперь мы взяли курс строго на собственные разработки и их внедрение для платформы 1С-Битрикс. В будущем, может, выйдем и на другие рынки и платформы. Но пока наше все – это Битрикс.
Маркетплейс
Несмотря на засилье дешевых аналогичных демпинговых решений, мы, компания , в 2016 году не отошли от своих принципов: только нужные решения с достойной ценой на них. Клиент должен чувствовать ценность продукта. Эта ценность выражается как в самой цене, так и в конечном эффекте для пользователя. Также мы рады, что в Маркете есть достойные разработчики и решения, с которых можно брать пример. Выражаем им благодарность за это.
Теперь подробнее о нас. Как мы писали выше, план по продуктам мы в текущем году не выполнили. Но, несмотря на это, в этом году топовые наши решения активно развивались, и мы даже разработали 5 решений, которые с достоинством пополнили копилку Маркета:
- магазин мужской одежды. Адаптивный. Композитный – типовой интернет-магазин полный аналог . Это было удачное решение запустить идентичный магазин, но уже для мужской аудитории с более строгим и четким стилевым оформлением. На определенных промежутках времени это решение превосходило по продажам своего прародителя . И для нас, если честно, это было удивительно. Теперь мы параллельно развиваем эти два решения и выводим его в топы по своей тематике.
. Решение позволяет устанавливать уникальные мета-теги для умного фильтра, скрывать страницы, создавать карту сайта умного фильтра, устанавливать ЧПУ, просматривать статистику переходов и оформленных заказов.
Мы были первыми, кто запустил модуль подобной тематики. На текущий момент таких решений несколько и это заставляет нас развивать модуль еще активнее. Но наша цель выделяться на фоне конкурентов не за счет самого простого пути – уменьшение цеыа, а за счет развития уникальных функциональных особенностей модуля. Поэтому в Новом году модуль получит от нас полную поддержку. С последующим увеличением цены, конечно. Кажется, простой модуль, но экономит много времени контент-менеджера, а соответственно и денежных средств. Ведь в Битриксе нет возможности быстрой загрузки нескольких картинок в визуальном редакторе, а данный модуль позволяет это делать.
Модуль, позволяющий изменять цену в зависимости от нестандартных условий, не входящих в поставку 1С-Битрикс. Такими условиями могут быть: устройство пользователя, айпи адрес, местоположение и прочее.
Парсер контента
Отдельной главой хочется отметить наше топовое решение . В этом году он преобразился настолько, что даже пришлось поменять название модуля на .
Неполный список обновлений и внедрений Парсера:
XML парсинг
CSV парсинг
EXCEL парсинг
Умное логирование, позволяющее предварительно заносить всю информацию в отдельную базу
Парсер научился работать с множеством разделов
Появились email уведомления
Новый же 2017 Год для должен стать еще более активным. Планируются такие внедрение, как:
Обратная выгрузка загружаемой информации в различных форматах
Загрузка информации (лиды, сделки и прочее) в CRM Bitrix24
Загрузка информации в highload блоки
Загрузка информации в произвольную таблицу или множество таблиц
И другие новинки
Отдельно мы бы хотели выделить наш топовый интернет-магазин стильных вещей . За этот год он совершил значительный скачок в своем развитии.
На наш взгляд все это благодаря следующим аспектам:
- Функциональное развитие. Решение активно развивается в своей функциональной части. За этот год мы сделали такие внедрения, как: SEO составляющая, микроразметка, подарки и наборы, система отзывов, различные шаблоны карточки товара, увеличение скорости и многое другое. - Маркетинг. Мы активно продвигали наш интернет-магазин на просторах интернета. Но квинтэссенцией всего стало реализация нашей мечты 2-х летней давности – создание полноценного видеоклипа, презентующего нашу линейку типовых интернет-магазинов МиссШоп/МистерШоп: - Продажи. Активная работа с продажами. На бизнес-тренингах мы как раз развивали наши умения именно на МиссШоп и МистерШоп - Документация. Введение документации дало значительный толчок МиссШопу. Теперь клиенты не боятся приобретать решение, видя, что для него существует полноценная информационная база. - Доп услуги. Мы не просто продаем готовое решение. Мы его внедряем и при необходимости изменяем полностью стилевое оформление. - Увеличение цены в 1,5 раза. Думаем, этот шаг тоже повлиял на наш рост. Цена на продукт увеличилась и продажи увеличились. Не надо бояться высоких цен. Надо бояться низкой квалификации.
Благодаря всем этим составляющим в текущем году мы внедрили и стилизовали десятки проектов на базе нашей линейки типовиков стильных вещей. Самые известные и брендовые из них: Интернет-магазин Ксении Бородиной и Cacharel.
Хочется также отметить, что – это не просто шаблон. Это целая функциональная база, на основе которой можно реализовать все, что угодно. И в 2017 году эта база будет развиваться еще более быстрыми темпами.
Техподдержка
В условиях ценового демпинга и разнообразия решений в Маркете техподдержка начинает занимать важное место среди всех конкурентных преимуществ. Ранее мы хоть и уделяли большое внимание этому аспекту, но все же все тикеты и обращения обрабатывали разработчики решений. Но, во-первых, это отвлекало их от основной работы. А во-вторых, разработчик умеет хорошо писать код, но не всегда - грамотно вести общение с клиентами. Поэтому текущей осенью нами было принято решение создать свой отдел техподдержки. Главой тех. Поддержки был назначен наш самый способный сотрудник по этому направлению – Алексей Юшкевич. Его эпистолярное искусство не имеет равных в нашей компании. В итоге риск открытия своего отдела техподдержки принес свои плоды:
Увеличение количества отзывов в разы
Минимизация количества просроченных тикетов
Лояльность клиентов к компании растет
Разработчики программируют, а не отвлекаются на тикеты
Составляем свою FAQ базу
Следующим этапом в работе тех поддержки мы выделяем: составление полноценного регламента, увеличение штата отдела и повышение их квалификации. Благо, для этого у Битрикса есть множество курсов и тестов.
И главное на будущий год – систематизация всех процессов данного отдела. Это позволит не только снизить количество обращений, но и уменьшить время их обработки.
Штат и офис
Штат – это наше все. Штат нас и мотивирует, и обучает, и добавляет ответственности. Не зря говорят, что кадры решают все. Так и есть. Поэтому во втором квартале текущего года мы серьезно задумались над увеличением штата, целью которого было увеличение объемов.
На начало 2016 года в нашем белорусском офисе числилось 5 сотрудников. Для выполнения наших планов этого штата явно было недостаточно. В итоге было принято решение - увеличение офиса в 1,5 раза и штата в 2,5 раза. И вот, конец 2016 года. Новая офисная коробочка полностью заполнена, но нам этого мало. В следующем году по плану увеличиться в несколько раз. Мы уже подали заявку на увеличение офиса. Так что следующий год для нас будет очень активным . Также в текущем году наш штат стал значительнее разнообразнее. Если раньше у нас числились лишь разработчики и дизайнеры, то в этом году мы пополнились: сеошниками, менеджерами и техподдержкой. Надеемся, что следующий год еще более расширит наши вариации штата.
Кроме того, хочется отметить не только количественный рост нашего штата, но и профессиональный. Оглядываемся назад и сравниваем наших первых сотрудников с текущими – прямо небо и земля. Теперь мы научились не только грамотнее подбирать штат, но и обучать его. А лучшим обучением является – боевое крещение. Если раньше мы жалели всех новичков, то сейчас бросаем сразу в бой. Также выражаем благодарность и Битриксу за свои курсы и экзамены. Наши ребята теперь с волнением подготавливаются к экзамену. Это подготовка сопровождается совместным обсуждением, шутками и стебом. Атмосфера улучшается. Также курсы и экзамены дают возможность легко и понятно классифицировать наших специалистов по их уровню.
Продажи и маркетинг
Текущий год мы с гордостью назвали годом продукта, но, к сожалению, конец года с позором не подтвердил это название. Но этот год можно было легко назвать годом продаж. Ведь мы перевыполнили план по продажам на 50%. Уж очень мы старались.
Если ранее мы себя не наблюдали ни в одном из списков Битрикс по продажам, то теперь мы мелькаем и в общем списке (20-е место) и по Питеру (4-е место). Что сказать?! Это только начало.
Мы начали анализировать, с чем же связаны такие изменения в продажах? И пришли к выводу, что мы просто отказались от лишних действий и начали делать нужные действия.
С чем же связаны такие изменения в продажах в текущем году? Все просто. Мы стали смелее, мы стали уверенее. Теперь мы не просто интенсивно поглощаем в себя новую и неизвестную информацию: книги, видеоматериалы, вебинары, курсы, тренинги. Но теперь мы все это используем на практике, фильтруем и уже разрабатываем свою стратегию продаж, которая конкретно подходит под нашу сферу деятельности.
Сайт
Отдельным пунктом стоит выделить и наш сайт. Как часто бывает – сапожник без сапог. И у нас почти в течение всего года было практически так же. Нет, сайт у нас был. И даже со стороны, может, и хороший. Но он был явно не про нас. Как было упомянуто выше, мы перешли на разработку своих продуктов. А наш сайт путал клиентов и усложнял нам работу. Он рассказывал, как мы не любим шаблонные решения и любим разрабатывать с нуля. Клиентов это вводило в ступор. Лишь один раздел нашего сайта выполнял свои непосредственные обязанности – техподдержка. Вот к нему не было претензий, не считая громадных планов по его развитию.
И вот к концу года мы разродились новыми концепциями сайта и открыли ему зеленую дорогу, выделив лучшие свои кадры, чтобы до Нового Года была внедрена наиболее важная часть проекта. В конечном итоге мы хотим получить не просто сайт, а инструмент, который поможет нам автоматизировать процесс работы с клиентами, который снизит ручной труд. В планах внедрение автоворонок и тщательная проработка личного кабинета. Теперь наш сайт радует нас и наших клиентов. Число входящих благодаря этому увеличилось. В Новом Году сайт должен стать инструментом повышения эффективности продаж. Мы на него возлагаем большие надежды.
В конечном итоге уходящий год для нас стал успешным. Теперь после подведения итогов года уходящего можно немножко расслабиться. А после сразу приступать к постановке новых целей на Новый 2017 Год. Ведь в следующем году нам придется решать новые, еще более амбициозные и интересные задачи.
Процесс самостоятельного расчета скидок при получении корзины через API или получить корзину через API с уже примененными со всеми скидками, купонами и правилами работ корзины.
Недавно столкнулся с проблемой, что, при получении корзины через API в нем не применены ни какие купоны и скидки, хотя купон в сессии хранится. Долго искал решения проблемы в форумах, но, не нашел внятного ответа и решения. Обратился в саппорт, что благо помогли. Вот теперь хочу поделится кодом который помог мне избавится от головной боли.
На днях у меня были проблемы с импортом товаров с помощью Битрикса (после добавления новых товаров скрывались старые и по одному появлялись при нажатой клавише F5. Сегодня зашёл в MarketPlace и установил обновления для "Гипермаркет: Всё включено", "Информационные блоки и инструменты" и "Импорт прайса из Excel". Проблема с отображением товаров после импорта сама решилась, однако появилась другая проблема.
На днях подправил в CSS-файле стили шрифта верхнего и левого меню сайта моей компании. До обновления шрифты отображались правильно. После обновления (как я понял Гипермаркета) стили шрифтов перестали работать и вернулись к тому состоянию, как будто-ничего не менял (как было заложено в шаблоне). Хотя через FileZilla залезал в папку со стилями - в них изменения внесены и они сохранились, но на сайте не отображаются. Пробовал обновлять кэш страницы в админке, кэш браузера - ничего не помогают. Мои изменения стилей не срабатывают. Подскажите, как это исправить, чтобы при новой версии Гипермаркеты стили вновь заработали?
Как сменить фразу "Зачисление на внутренний счёт" на свою. Нашел путь \bitrix\modules\sale\handlers\paysystem\bill\template\ говорят что не в шаблоне счета меняется , вопрос тогда а где ?