Тэг ‘cms’

Программирование для joomla

Подборка полезных ссылок

Создаем свой модуль для Joomla!

http://blog.boxdox.ru/2009/08/modul_for-joomla/ - собственный модуль для joomla

http://joomla-book.ru/development/creating-module/ - более подробная информация по созданию модулей для Joomla

Как вставить php-скрипт в Joomla
вставка php-скрипта в joomla - rdaddphp

Rdaddphp выводит пустую страницу.

Столкнулся с тем, что Rdaddphp выдает “пустую” страницу (там, где должно быть содержимое его просто нет, однако шаблон страницы выводится) . Получилось при добавлении строки :

$row = mysql_fetch_row ();

Причина была в использовании нужных для Joomla имен внутри файла. (в данном случае $row). Следите за уникальностью.

Опубликовано Июль 12, 2010 | автор: levik  |  Нет комментариев »

Drupal - подборка модулей, ссылок, полезностей

Drupal (капля) - CMS (система управления контентом). Большое сообщество, неплохая документация (в том числе и на русском) - неплохая подмога в решении практически любой задачи на drupal. Множество готовых модулей как на официальном англоязычном сайте (drupal.org), так и “менее официальных” в русскоязычном сообществе (drupal.ru).

Подборка модулей для Drupal

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

CCK - позволяет изменять типы данных (node), добавлять дополнительные поля.

Views - настройки отображения списков-таблиц элементов.

http://drupal.ru/
http://habrahabr.ru/blogs/about_cms/18078/
http://habrahabr.ru/blogs/drupal/18114/

Из менее популярного, но полезного:

Yandex Maps - позволяет привязать Яндекс-карту к ноде
http://www.drupal.ru/node/39766

Simple Gmaps - Google-карты
http://drupal.ru/node/24680

http://ann.sabonim.ru/module2

Опубликовано Июль 2, 2010 | автор: levik  |  Нет комментариев »

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

В целях безопасности многие сайты не хранят в открытом виде пароли пользователей. Функция восстановления пароля в таких случаях не “восстанавливает” старый пароль, а генерирует новый. При авторизации в этом случае присланный пароль шифруется (обычно хеш-функцией), а результат сравнивается с тем, что хранится в базе. Если совпадают - все в порядке. Если нет - ошибка авторизации.

Однако, довольно часто, требуется войти в панель управления или администрирования (админку), доступ к которой потерян (или вообще неизвестен). Восстановление тоже может не работать. Как быть?

Если имеется доступ к базе - можно попробовать задать новый пароль “ручками”, непосредственно в таблице пользователей. У каждой системы управления может быть свой метод хранения хешированных паролей, однако, наиболее распространенных способов не так много.

  • Хранение пароля в открытом виде

На сегодняшний день многие CMS не используют этот способ хранения пароля. Однако, полностью исключать этот случай нельзя. Возможно комбинация “логин-пароль” непосредственно из базы данных подойдет для входа.

  • Хранение результата хеш-функции (хеш-суммы) пароля.

При задании (или генерации) пароля производится вычисление хеш-функции от строки пароля, и это значение записывается в таблицу. Наиболее распространенные функции для хранения паролей к сайтам - md5() , sha1(). Распознать хеш-функцию можно по характеным признакам:

md5-хеш содержит 128 бит (16 байт) и обычно представляется как последовательность из 32 шестнадцатеричных цифр. Например, MD5(”md5″) = 1bc29b36f623ba82aaf6724fd3b16718

sha1-хеш содержит 160 бит (20 байт) и представляется в виде последовательности 40 шестнадцатеричных цифр (5 групп по 8 символов). sha1(”sha”)   = d8f45903 20e1343a 915b6394 170650a8 f35d6926

  • Хранение хеш-суммы пароля и соль (salt)

Этот вариант имеет ещё более высокую степень защиты. В базе хранится хеш сумма и соль в виде hash:salt. (символ двоеточия приведен для примера, однако, именно его использование распространено)

salt - (соль) обычно строка из нескольких символов.  Используется для генерации хеш суммы. функция вычисляется не от значения пароля, а от значения “пароль”+”соль” ( “соль”+”пароль”, md5(md5(”пароль”)+”соль”)).

Хранение паролей в некоторых CMS

MD5 c4ca4238a0b923820dcc509a6f75849b Используется в phpBB v2.x, Joomla версии ниже 1.0.13, а также во многих других форумах и CMS.

Длина: 16 байт.

md5($pass.$salt) 6f04f0d75f6870858bae14ac0b6d9f73:1234 Используется в WB News, Joomla версии 1.0.13 и выше.

Длина: 16 байт.

md5($salt.$pass) f190ce9ac8445d249747cab7be43f7d5:12 Используется в osCommerce, AEF, Gallery и других CMS.

Длина: 16 байт.

md5(md5($pass)) 28c8edde3d61a0411511d3b1866f0636 Используется в e107, DLE, Koobi .

Длина: 16 байт.

md5(md5($pass).$salt) 6011527690eddca23580955c216b1fd2:wQ6 Используется в vBulletin, IceBB.

Длина: 16 байт.

md5(md5($salt).md5($pass)) 81f87275dd805aa018df8befe09fe9f8:wH6_S Используется в IPB.

Длина: 16 байт.

md5(md5($salt).$pass) 816a14db44578f516cbaef25bd8d8296:1234 Используется в MyBB.

Длина: 16 байт.

SHA-1 356a192b7913b04c54574d18c28d46e6395428ab Используется во многих форумах и CMS.

Длина: 20 байт.

Алгоритм: соответствует функции sha1() языка PHP.

sha1(strtolower($username).$pass) Admin:6c7ca345f63f835cb353ff15bd6c5e052ec08e7a Используется в SMF.

Длина: 20 байт.

Опубликовано Июнь 25, 2010 | автор: levik  |  Нет комментариев »

Вывод даты в modx - форматируем дату по-русски в php

Modx - система управления контентом (CMS). Иногда можно услышать о ней как о CMF.

В общем, форматируем дату в стиле “1 июня 2010 года”.

На php даже при установленной русской локали вывод даты в формате  ‘d B Y’ выведет что-то вроде “1 Июнь 2010″. Родительный падеж придется делать самостоятельно.

<?php
function rus_date($d) { //$d - timestamp
$month = array(1=>'января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
return date('d ',$d).$month[(int)date('m',$d)].date(' Y года',$d);
}
?>

Как прикрутить вывод даты к modx? Как обычно - через одно место. Через сниппет. (вариант с  phx тоже будет работать.. Если подключить PHx).

Создаем сниппет [[rus_date]] , в который помещаем очень похожий код:

<?php
$month = array(1=>'января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
$d = isset($d)?$d:$modx->documentObject['pub_date'];
return date('d ',$d).$month[(int)date('m',$d)].date(' Y года',$d);
?>

Вызов сниппета в документе - просто [[rus_date]]
Для форматирования даты по-русски при выводе в сниппете Ditto: в созданный чанк-шаблон в том месте, где нужно вывести дату вставляем
<p class="date">[[rus_date?&d=[+pub_date+]]]</p>

Ditto будет выводить уже отформатированную дату по-русски.

Опубликовано Июнь 1, 2010 | автор: levik  |  Комментарий (1) »

joomla размещаем баннер после статьи - frontpagebanner мамбот

Наткнулся на интересный мамбот для Joomla! - (кто-то может называть его плагином) FrontpageBanner .

Мамбот FrontpageBanner позволяет разместить на главной странице сразу после первой статьи баннер. То есть баннер (модуль баннеры) выводится в основной части сайта сразу после статьи. Возможности по настройке баннеров (какого выбрать рекламодателя или баннер) и более подробную информацию можно откопать на форуме мамбота.

Кстати, если плагин frontpagebanner обрабатывает информацию в колонках (right, left) - выводит “ненужный” баннер в блоке одного из модулей,  следует для модуля отключить мамботы…

Мамбот FrontpageBanner  выводит баннер после первой новости на главной странице… никакого другого функционала в нем не запланировано…

http://joomlaforum.ru/index.php/topic,7409.html - тут можно поближе познакомиться с мамботом-плагином FrontpageBanner.

Что самое интересное, о существовании сего плагина узнал по результатам его работы - наблюдался “непонятный” вывод баннеров на статических страницах . (не только на главной! :)) Чтобы модуль выводил баннеры на всех страницах после контента следует подправить файл bot_frontpagebanner.php
if ($view == ‘frontpage’) заменить на if (1)
именно так и выглядел “непонятный” вызов баннера.

Его можно использовать для вывода любого другого модуля (возможно, более уместен будет контекст, хотя, для его отображения, пожалуй целесообразно использовать специфические модули - Google Adsense Mambot, например ) - достаточно слегка подправить файл bot_frontpagebanner.php - следует найти строку
include($mosConfig_absolute_path . ‘/modules/mod_banners.php’);
и заменить её на вызов требуемого модуля:
mosLoadModules ( ‘position_name’, -1 );

Вообще, код плагина можно использовать как основу для написания мамботов для joomla.

Удачи в использовании плагина frontpagebanner на собственных joomla-сайтах! Если вы придумали оригинальное использование - сообщите в комментариях.. Возможно, оно окажется полезным или интересным кому-нибудь ещё…

Опубликовано Февраль 24, 2010 | автор: levik  |  Нет комментариев »

Virtuemart - скрываем пустые категории

При работе с интернет-магазином на базе Virtuemart после импорта из csv возможно появление пустых категорий, которые virtuemart не скрывает автоматически. Т.е. отображаются категории, в которых нет ни одного опубликованного товара (или вообще ни одного товара) - при заходе в такую категорию, естественно,  “ощущается пустота”.

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

В настройках Virtuemart (ни в глобальной конфигурации, ни в настройках категорий) пункта-галочки “скрывать пустые категории” (или отображать) я не нашел. Может плохо искал?

Как настроить virtuemart  чтобы он не показывал пустые категории?

Ничего более простого, как “опубликовывать только категории с товаром” я не придумал. Итак, проходим по категориям “снизу”, начиная с товаров, и .. опубликовываем их. Предварительно все категории распубликовываем. Если в магазине имеются умышленно скрытые категории (своеобразный склад временно неиспользуемых товаров), их можно просто добавить в исключения

Ближе к практике:

CREATE TEMPORARY TABLE `jos_tmp_category` (
`category_id` int(11) NOT NULL,
`lvl` int (2) not null,
PRIMARY KEY (`category_id`)
)

insert into `jos_tmp_category`
select distinct c.category_id, 1
FROM jos_vm_category c
INNER JOIN jos_vm_product_category_xref pc ON c.category_id = pc.category_id
INNER JOIN jos_vm_product p ON pc.product_id = p.product_id
WHERE p.product_publish = ‘Y’;

replace into `jos_tmp_category`
select distinct cc.category_parent_id, 2
FROM jos_vm_category_xref cc
inner join `jos_tmp_category` t
on t.category_id = cc.category_child_id and t.lvl=1;

replace into `jos_tmp_category`
select distinct cc.category_parent_id, 3
FROM jos_vm_category_xref cc
inner join `jos_tmp_category` t
on t.category_id = cc.category_child_id and t.lvl=2;

– …
– пока количество “затронутых” рядов перестанет изменяться

update jos_vm_category set category_publish=’N';
update jos_vm_category set category_publish=’Y’
where category_id in (select `category_id` from jos_tmp_category);

После таких запросов к базе virtuemart не будет отображать пустые категории (а если точнее, то пустые категории станут скрытыми). В универсальный хак-мод все это не переросло, а вот после “зашивания” в simple csv import сайт стал “скрывать категории” сразу после обновления товаров.

Опубликовано Ноябрь 4, 2009 | автор: levik  |  Нет комментариев »

Импорт csv в virtuemart - Simple CSV (часть 2)

Не так давно публиковал заметку о реализации импорта csv в virtuemart

Когда потребовалось повторить установку “мода” Simple CSV - пока читал форум, забыл зачем пошел. :) На десяти страницах форума слишком много “воды” и повторяющихся вопросов. Решил собрать краткий ман-faq по мод-хаку  в одном месте. Может кому-нибудь окажется полезным.

Хак для версии virtuemart 1.0.*
Для более новых версий - см. CSVImproved http://joomlaforum.ru/index.php/topic,42648.msg407103.html#msg407103

http://joomlaforum.ru/index.php/topic,8340.msg87750.html#msg87750 - тут последняя (на дату написания поста) версия Simple CSV. Попутно стоит скачать примеры (на первой странице ветки), и учесть, что в файле параметров параметры надо называть не “Иглы;Размер иглы в СИ”, а просто “Размер иглы в СИ” - возможна ошибка при импорте. В секции товаров (!) в первой строке (заголовок) параметр должен называться  “Иглы;Размер иглы в СИ”.

В файле ps_simple_csv_aliases.php соответствия между заголовками импортируемого файла и полями в базе. Дополнительные поля могут не загружаться, так как в базу пишет функция Virtuemart’a - подправлять следует её.

Модифицировал галочку “проверять товары” (при включенной галочке - все товары, отсутствующие в загрузке “распубликовываются”) - сделал распубликование всех товаров перед загрузкой - запрос из нескольких тысяч in (,,,) почему-то не срабатывал..

Импорт атрибутов
В ps_simple_csv_aliases.php строчки
‘Атрибут’ => ‘attribute’,
‘Атрибут определенный нами’ => custom_attribute’,
на самом деле должны быть
‘Атрибут’ => ‘product_advanced_attribute’,
‘Атрибут определенный нами’ => ‘product_custom_attribute’,
Теперь буду мучать картинки =)

А как залить товар в несколько категорий?
Указать путь к категориям через запятую, или точку с запятой или палку. Смотря какой у вас разделитель данных. Стоит быть внимательным - добавляйте категории без пробелов - возможно “дублирование”/создание “лишних” категорий.

Категории, содержащие запятую (точку с запятой или вертикальную черту) могут грузиться как несколько категорий. Для того, чтобы избежать подобного “разделения одной категории”, в строке ~805 файла ps_simple_csv.php следует убрать или закомментировать ненужный разделитель..
if( !is_array($paths) ) $paths = explode(’,', $paths);

  Разделяем превьюшки и основные изображения по разным папкам: создаем нужный каталог (например resized) для и в csv пишем “resized/image1.jpg” и т.д.

Разные цены, в зависимости от количества товара:
А можно ли сделать чтобы отображалось 3 цены товара? При этом магазин у меня работает как каталог, т.е указать например, что при покупке 100 игл цена 600р, а при покупке 500 игл цена 580р, а при покупке 1000 игл цена 550р. Как это мне можно сделать думаю, что это можэно сделать через “Параметры товара”, я прав???
В версии 4 и ниже - если нужны именно цены, то сделать это можно через цены, а если просто для информаци, то через параметры можно. Через цены пока можно лишь разом загружать цены для разных групп, для возможности загружать цены и для разного количества товара - проверить в файле ps_simple_csv_aliases.php строку №123 заменить на:

'/Цена для группы "(.+?)"(?:(?:.*?)(\d+)(?:.*?)(\d+))?/' =>
'product_prices|shopper_group_name|price_quantity_start|price_quantity_end',

Для версии бета-5 добавлена возможность добавлять “сложные цены” в следующем формате

Цена для группы “<название группы покупателей, сначала это обычно -default->”[[что угодно]<число от>[что угодно]<число до>]

Правильно: Цена для группы “-default-” количество от 3 до 7
Неправильно: Цена для группы “-default-” количество от 3
Правильно: Цена для группы “-default-” 3 - 7
Правильно: Цена для группы “-default-”, 3 7
Правильно: Цена для группы “-default-
Если до много - пишем что-то вроде 3-99999 - http://joomlaforum.ru/index.php/topic,8340.msg89584.html#msg89584 - тут с примером разбора.

При загрузке двух колонок  (артикул, цена) - т.е. выгрузка используется только для обновления цен на сайте, следует подправить 883 строку файла на

if( $csv_data['manufacturer_id'] ) {

Fatal error: Allowed memory size of … bytes exhausted (tried to allocate … bytes) in - ошибка возникает при нехватке памяти скрипту. Следует уменьшать либо количество товаров в файле, либо по возможности убрать “лишнее” - описания, которые не меняются и подобное.

При длительной загрузке прайса, возможно, поможет

define( 'RG_EMULATION', 0 ); в файле globals.php

Несколько изображений в virtuemart - http://forum.virtuemart.net/index.php?topic=18473

Настройка разделителей по умолчанию - в product.simple_csv_upload.php
<input type="radio" name="csv_delimiter" checked="checked" value=";" />

Замеченные глюки с ценой:
- указание цены с пробелами;
- в меню “Информация о магазине” не выставлена валюта “валюта = рубль” - может повлиять на импорт цен;
- добавить в файл импорта поле product_currency с содержимым руб. (видимо, альтернатива предыдущему решению)

Сохраняем связанные товары  http://joomlaforum.ru/index.php/topic,8340.msg170587.html#msg170587

        // Присваиваем значения выборке из базы
        foreach( $csv_data as $key => $value ) {
          //if($db_data[$key]) $db_data[$key] = $value;
          $db_data[$key] = $value;
        }
		/*##my Додаю для того, аби супутні товари не затирались. Старт ##200802281852*/
		$q  = "SELECT related_products FROM #__{vm}_product_relations ";
		$q .= " WHERE product_id='".$db_data['product_id']."'";
		$db->query($q);
		if( $db->num_rows() ) {$db_data_related_products[] = $db->loadResult();}
		$db_data["related_products"]=$db_data_related_products;
		/* Кінець ##200802281852 */

Если у Вас возникли проблемы с установкой Simple CSV и вы их решили (или не решили) - отписывайтесь в комментариях или на форуме. При появлении новой информации пост по возможности (и желанию) буду обновлять.

Опубликовано Сентябрь 25, 2009 | автор: levik  |  Нет комментариев »

оптимизация Oscommerce - уменьшаем нагрузку на сервер

OsCommerce - довольно известный движок для создания интернет-магазина. Широкие возможности, большое количество модулей-патчей - несомненный плюс. Однако, как и у всего, у Oscommerce имеются и минусы.

Одним из существенных недостатков, который зачастую оказывает решающее влияние при выборе движка для магазина является высокая требовательность к ресурсам (”громоздкость”, низкая производительность или “тормознутость” - термины не совсем корректные, однако, понятные каждому).

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

Продолжение статьи про оптимизацию OsCommerce

Опубликовано Июнь 27, 2008 | автор: levik  |  Комментарий (1) »

easypopulate или импорт-экспорт в OsCommerce

EasyPopulate - хто этО?

EasyPopulate - плагин (или файл-модуль.. как угодно) для OsCommerce, который позволяет экспортировать товары из интернет-магазинов на базе OScommerce (например, в csv-формате), редактировать их (например, в Excel) и импортировать обратно в интернет-магазин. Кроме того, файл с информацией о товарах можно автоматически генерировать (часто удобно делать напрямую обработкой-выгрузкой из 1С).

Сомнений не возникает, что  EasyPopulate - штука полезная. Если сборка магазина OsCommerce более-менее солидная, то скорее всего, наличие сей “фичи” уже имеется. Если же нет - можно установить таковую и самостоятельно.

Как начать работу с Easypopulate

Проще всего сделать экспорт товаров (ищем в меню админки где-то в каталоге) из интернет-магазина и открыть получившийся файл любым редактором csv (скорее всего, это будет Excel). Если файл с расширением .txt, то придется пройти небольшую процедуру определения формата файла - табуляторы, строки, форматы ячеек.. Проблем возникнуть не должно.

Структура файла не слишком замысловата - первая строка, как и положено “заголовочная”. Значение большинства полей интуитивно понятно (v_products_id, v_products_model,v_products_image…). Для полной уверенности можно ознакомиться с форматом данных EasyPopulate. В последующих строках идут значения полей для каждого товара. Следует отметить, что при необходимости товар и категории будут добавлены автоматически. Глубина вложенности категорий ограничена шестью, но на практике этого вполне хватает.

Внутри easypopulate или “ручками”

При наличии некоторых знаний php беглый просмотр файла easypopulate.php прояснит некоторые детали,  изначально скрытые от глаз  пользователя. Документацию ведь читать некогда :) Да.. ещё, следует обратить внимание на версию файла… И не торопиться обновлять до последней - скорее всего в используемой версии/сборке магазина файл был отредактирован и довольно сильно отличается от оригинального (такова уж особенность OsCommerce) …

Встречался с версиями, у которых “всё в одном” - html (+php, куда ж без него) код, импорт и экспорт в одном файле. Первая половина отвечает за экспорт, (блок if download…) , потом - импорт в Oscommerce ($localfile or is_uploaded_file), импорт с разбиением на части (if (is_uploaded_file($usrfl) && $split==1) …) - что-то похожее реализовано в импорте для virtuemart (joomla) , дальше - вывод HTML (форма для импорта), чуть ниже - функции обработки.

Основная обработка производится функциями ep_create_filelayout() и walk() (импорт)

Импорт в Oscommerce дополнительных полей

Добавить в файл  импорта дополнительные поля (не забыть заголовки) и обработать их в easypopulate (в функции walk). В общем-то всё :)

Импорт в Oscommerce товаров и атрибутов в одном файле

Вообще, в файле easypopulate реализован импорт-экспорт атрибутов отдельным файлом (для экспорта выбрать файл экспорта - атрибуты товаров). Т.е. товары загружаем файлом товаров, а атрибуты - файлом атрибутов. И экспорт реализован слегка.. скажем так неудобно - в результате много “пустых” данных (а-ля представляем граф матрицей или почти  таблица пифагора - на пересечениях строки и столбца, если для товара имеется атрибут, то в графе “Цена” указывается значение разницы от основной. И независимо от того, есть атрибут или нет - его id и значение атрибута)

v_attribute_options_id_1 v_attribute_options_name_1_4 v_attribute_values_id_1_1 v_attribute_values_price_1_1 v_attribute_values_name_1_1_4 v_attribute_values_id_1_2 (… и тд для всех значений атрибута _1, потом _2)

Строчки присутствуют для всех товаров, столбцы - для всех атрибутов и значений атрибутов*3

Конечно, это не всегда удобно - например вариант экспорта атрибутов, когда в магазине ~6 тыс. товаров и НЕКОТОРЫЕ товары имеют один атрибут на vps генерировался несколько минут и весил в итоге 1.5 Мб. Импорт такого файла - тоже процедура довольно затратная.. :)

Как вариант - импорт в Oscommerce товаров и атрибутов одним файлом - добавляем столбец (к примеру, v_my_attribute_1) и помещаем туда значения (или предварительно сформированные ID, соответствующие внутренним ID магазина) и обрабатываем в функции walk.

Если предусмотреть автоматическое создание отсутствовавших ранее атрибутов и обработку для исключения дублирования (из-за пробелов, больших букв и тд.. можно как при импорте данных, так и на этапе формирования выгрузки.. или ещё раньше - “правильное” хранение данных в основной базе), то такой вариант вполне имеет право на сущесвование.

Приходилось сталкиваться с импортом OsCommerce? Нашли ошибку? Есть что добавить?  - Добро пожаловать в комментарии.

Опубликовано Апрель 17, 2008 | автор: levik  |  Нет комментариев »

easypopulate - описание формата данных (Oscommerce)

Easypopulate используется для экспорта-импорта данных (csv файлы - открываются в Excel) в магазинах на базе OScommerce. Краткое описание формата данных и некоторая полезная информация собрана в таблице ниже. Поля отмеченные звездочкой являются обязательными для заполнения. Остальные при необходимости можно оставлять пустыми.

Заголовок Описание формата EasyPopulate
v_products_id ID товара (из базы в магазине). Для новых товаров ставим 0 (ноль)
v_products_model* Код товара (артикул)
v_products_image Адрес основного изображения товара (относительно каталога images/). Файлы предварительно закачиваются по FTP (или в админке) Отображается как в листинге товаров, так и в popup изображении
v_products_image_med Основная картинка товара (при просмотре описания товара).
v_products_image_lrg Основная картинка товара (pop-up).
v_products_image_sm_1
v_products_image_xl_1
v_products_image_sm_2
v_products_image_xl_2
v_products_image_sm_3
v_products_image_xl_3
v_products_image_sm_4
v_products_image_xl_4
v_products_image_sm_5
v_products_image_xl_5
v_products_image_sm_6
v_products_image_xl_6
v_products_name_1* Название товара (максимальная длина - не больше 255 символов - см. длину поля products_name).
v_products_description_1 Описание товара (разрешается использовать HTML тэги)
v_products_info_1 Краткая информация о товаре.
v_products_url_1 Внешняя ссылка на товар(сайт производителя и тд.; указывается без http://)
v_products_head_title_tag_1 HTML-тэг Meta Title (заголовок) для страницы товара.
v_products_head_desc_tag_1 HTML-тэг Meta Description (описание) тэг для страницы товара.
v_products_head_keywords_tag_1 HTML-тэг Meta Keywords (ключевые слова) для страницы товара.
v_products_price* Цена товара в валюте по умолчанию (см. Админка -> Локализация -> Валюты). Разделитель дробной части - ТОЧКА!
v_products_weight Вес товара в килограммах (используется для расчета стоимости доставки). Если не используется - пропускаем.
v_date_avail Ожидаемая дата “доступности” товара (проще оставлять пустой)
v_date_added* Дата добавления товара в магазин в формате YYYY-MM-DD HH:mm:ss (формат строгий!)
v_products_quantity Количество единиц товара на складе. Если не используется, вводим “заведомо большое” - 99999
v_products_quantity_order_min Минимальное количество товара для заказа. Если товар “поштучно” - пропускаем (пусто)
v_products_quantity_order_units Количество единиц в “упаковке” товара (полезно при оптовой торговле)
v_products_sort_order Номер для сортировки (чем меньше, тем выше товар в списке)
v_manufacturers_name Производитель
v_categories_name_1 * Категория, в которую добавляется товар. При необходимости, можно указать полный путь (с подкатегориями) до седьмого уровня вложенности. Неиспользуемые уровни оставляем пустыми.
v_categories_name_2
v_categories_name_3
v_categories_name_4
v_categories_name_5
v_categories_name_6
v_categories_name_7
v_tax_class_title* Название налога. (см. Админка - Места/Налоги - Типы налогов).Скорее всего лучше оставить “–нет–”.
v_status* Статус товара (Active/Inactive - соответственно доступен/недоступен). Пропускать нельзя!
v_action Для удаления товара указать “delete”. Если товар удалять не нужно - пропускаем.
EOREOR* EOREOR - символ “конца строки”

Если Вы считаете, что данная информация о формате данных EasyPopulate неполная - отписывайтесь в комментариях. Будем дополнять вместе!

Опубликовано Март 30, 2008 | автор: levik  |  Нет комментариев »