- HTML и CSS
- CSS3 shape-outside или обтекание картинки текстом
- Маштабируемый фон background css
- CSS выравнивание по вертикали
- Хранение картинок в css с помощью base64
- Как сделать ссылку, якорь?
- CSS3 для Internet Explirer 6 и старше
- Вёрстка для мобильных устройств
- Растягиваем html на всю страницу
- Таблица цветов CSS
- Выравнивание тега LI в контенте
- Оооох какой прекрасный box-sizing
- Делаем таблицу при помощи div и css
- Как сделать кросбраузерный linear-gradient без особых усилий
- CSS прозрачность для всех
- CSS для печати @media print
- Выравнивание блоков с помощью css {display: inline-block}
- Замечательное значение inherit
- Тень блочных элементов в CSS3
- Обводка текста с помощью CSS
- Полезные html символы
- Хаки или CSS для Internet Explorer-ов
- Делаем трёхуровневое меню на css
- jQuery, javaScript
- Устанавливаем на Яндекс Карте свою картинку вместо стандартной метки
- Адаптивные фотогалереи, слайдеры, карусели для сайта
- Узнаём координаты для установки скрипта Яндекс Карт
- Собственный фильтр для селекторов. Выбираем случайный элемент на jQuery
- closeClick true fancyBox 2, closeClick :true
- jquery ui slider, дробные числа, float values
- Парсер параметров из адресной строки jQuery
- Подсказки по javascript
- Выпадающее горизонтальное меню
- Работа с объектами в JavaScript: теория и практика
- Работа с массивами в jquery
- PHP
- Регулярные выражения онлайн
- Как определить путь к файлу текущего класса
- PHP скрипт для поиска. Удаление вируса с сайта
- UMI-CMS
- UMI CMS rel canonical
- UMI CMS API Шаблоны данных Добавить префикс к полю
- UMI CMS API Шаблоны данных Вывести текст из подсказки
- Если надо в UMI CMS открыть доступ к файлу в корне сайта htaccess
- Как перенести контент со старой UMI на новую UMI CMS с помощью umiDump
- Отправка письма с вложением UMI CMS API
- Как вывести из набор изображений одну картинку UMI CMS API (или случайную)
- UMI CMS Основные поля для отправки формы в модуле Конструктор форм
- Функции API UMI CMS для добавления, редактирования, удаления объектов каталога
- Функции API UMI CMS для добавления, редактирования, удаления объектов каталога
- UMI CMS Фильтрация спама на сайте
- Работа с набором изображений (multiple_image) TPL в UMI.CMS
- UMI CMS Ошибка "I expect value in request for param"
- UMI.CMS USEL кириллица не работает
- UMI Добавление дополнительных настроик на примере модуля catalog
- Подключение шаблонов в UMI.CMS в TPL шаблонизаторе
- UMI.CMS - забыл пароль администратора. Как восстановить?
- UMI Selector USEL фильтрация в PHP
- Передать в xslt xpath в запросе знак амперсанда
- Работа с system makeThumbnail
- Вывести названия методов в UMI
- UMI CMS API загрузка модуля
- UMI CMS карта сайта с помощью Usel
- UMI выгрузка из 1C поиск страницы копии, удаление копии
- Как в UMI.CMS изменить адрес домена в sitemap.xml и robots.txt. Изменить HTTP на HTTPS
- Вывод баннеров/слайдера в umi xslt
- UMI.CMS нет вкладок в админке
- XSLT вывод ссылки в которой присутствует знак амперсанда &
- UMI CMS Выгрузка из 1С нужно чтобы название товара (страницы каталога) не менялось
- Как в UMI поставить всем страницам галку на просмотр гостю
- Как узнать у страницы id шаблона данных через api?
- UMI.CMS работа с debug config.ini фильтрация по IP
- Как задать заголовок H1 (header) на странице созданного метода UMI CMS
- Выводим случайную статью в UMI CMS с помощью usel в tpl
- UMI.CMS Открыть закрытые поля в шаблонах данных ?skip-lock=1
- Как отредактировать облако тегов
- Как узнать позицию страницы среди соседних страниц в UMI
- umi cms usel вывод страниц каталога c фильтрацией
- Вывод справочника при помощи usel
- Как в umi узнать umiHierarchyElement из id umiObject
- Карта сайта на UMI CMS с помощью кастомного метода
- Редирект со страницы на страницу
- Создание, обслуживание, поддержка сайта
- Как удалить в картинке jpg, jpeg, gif? eval или base64_decode
- Основные технические ошибки, допускаемые при создании сайта
- Как выбрать домен?
- Хостинг, что это и для чего он нужен
- htaccess редиректы
- Наполнение сайта
- Цены на разработку сайта в Петербурге
- Какова может быть стоимость поддержки сайта?
- Важные мелочи!
- Каким должен быть сайт по версии яндекса
- 5 советов верстальщику
- Копирайтинг, seo, продвижение
- Ранжирование сайтов в поисковиках, выдача поисковых систем, поисковый алгоритм, поисковое ранжирование сайта
- Что нужно делать чтобы сайт был на первых местах?
- Копирайтинг - что это?
- Добавить сайты в индекс поисковых систем, регистрация в поисковиках
- Почему сайт не может приносить прибыль сразу?
- Почему следует вкладывать деньги в сайт?
- SEO статья о SEO-копирайтинге (seo copyrighting, seo copywriting). Кто seo копирайтер, что такое seo текст сайта, как помогают seo статьи и зачем нужна оптимизация?
- Как верстать сайт для SEO?
- Контекстная реклама
UMI CMS Выгрузка из 1С нужно чтобы название товара (страницы каталога) не менялось
Задача: При выгрузке товаров из 1С нужно чтобы название товара (страницы каталога) не менялось.
Способ 1. Можно решить задачу переопределив шаблон \xsl\import\commerceML2.xsl. После первой выгрузки каталога удалить из него следующий узел: <name><xsl:value-of select="$name" /></name>
Есть недостаток: Если товар ещё не создан, то вместо имени вставится ID из UMI.
Способ 2. Для этого я воспользовался событиями. В файле custom_events.php ( classes/modules/exchange/custom_events.php ) назначил обработчик события (в мануале)
new umiEventListener("exchangeOnUpdateElement", "exchange", "updateElementName");
Затем описал обработчик события (в мануале) updateElementName в файле __custom_adm.php ( classes/modules/exchange/__custom_adm.php )
public function updateElementName(iUmiEventPoint $eList){
// выполняется перед сохранением из выгрузки
if ($eList->getMode() === "before") {
$element = $eList->getRef('element');
// element_info это xml из выгрузки
$info = $eList->getParam('element_info');
$nl = $info->getElementsByTagName('name');
$info_name = $nl->length ? $nl->item(0)->nodeValue : '';
$element->setValue('meta_descriptions', '');
if($element->name != $info_name){
$element->setValue('meta_descriptions', $element->name);
}
$element->commit();
}
// выполняется после
if ($eList->getMode() === "after") {
$element = $eList->getRef('element');
if($element->getValue('meta_descriptions') != ''){
$element->setName($element->getValue('meta_descriptions'));
$element->setValue('meta_descriptions', '');
$element->commit();
}
}
}
Суть заключается в том что, перед загрузкой новой информации на страницу товара ( before ) функция сохраняет название страницы в поле meta_descriptions (т.к. это поле было пустое и фактически не использовалось, конечно лучше под это дело создать отдельное поле и сделать его невидимым на странице в админке), а когда все изменения внесены ( after ) мы из поля meta_descriptions возвращаем название обратно.
Что почитать:
http://youtu.be/YK4dWUUJosc?t=1h17m34s