RO CSVI

Customizing the export filename

| RO CSVI

Requirement: CSVI VirtueMart 2.3.18 or higher

To customize the filename CSVI VirtueMart creates on export you can specify the following tags to have them replaced on export:

Tag Meaning Example
[Y] A full numeric representation of a year, 4 digits 1999 or 2003
[y] A two digit representation of a year 99 or 03
[M] A short textual representation of a month, three letters Jan through Dec
[m] Numeric representation of a month, with leading zeros 01 through 12
[F] A full textual representation of a month, such as January or March January through December
[n] Numeric representation of a month, without leading zeros 1 through 12
[d] Day of the month, 2 digits with leading zeros 01 to 31
[D] A textual representation of a day, three letters Mon through Sun
[j] Day of the month without leading zeros 1 to 31
[l] A full textual representation of the day of the week Sunday through Saturday
[g] 12-hour format of an hour without leading zeros 1 through 12
[G] 24-hour format of an hour without leading zeros 0 through 23
[h] 12-hour format of an hour with leading zeros 01 through 12
[H] 24-hour format of an hour with leading zeros 00 through 23
[i] Minutes with leading zeros 00 to 59
[s] Seconds with leading zeros 00 to 59

Source: http://www.php.net/manual/en/function.date.php

Specifying a filename like:

product_export_[Y]_[m]_[d].csv will create a file called product_export_2010_11_06.csv.

Read more ...

CSVI Analyser

| RO CSVI

 Are you seeing errors while importing your file and don't know what to do or how to find out whats wrong with the file? There is nothing to worry, CSVI has an amazing inbuilt tool to check the errors in import files and it is the best place to make you get aware of the problems you have with your import file. It works on both CSV and XML files.

 Analyser with CSV file

To analyse your csv file, Go to Analyser page from the side menu, select your csv file and set the number of lines to show. By default lines to show is 3, change it if needed. Click on Analyse button on top. CSVI will list out the errors if any in the Errors section else list out the records from import file. If there are no errors shown and your CSV content is displayed perfect in Analyser then your CSV file is a valid one for import. 

csvi analyser csv file

 

 Analyser with XML file

CSVI Analyser can also be used to check an XML file. To do that, Go to Analyser page from the CSVI side menu, select the XML file in File section and in the Record name set the node name of each item, say for example if its <product> node which has data of each product then set Record name as product. Change Lines to show as needed and click on Analyse button.

csvi analyser xml file

 

If in the analyser shows any non readable characters in your content as shown below then it means that your CSV file is not UTF-8 encoded and you need to convert your file to UTF-8 format. Have a look at the document Save CSV file as UTF-8 encoded to know on how save your import file as a UTF-8 encoded document.

csvi utf8 not encoded csv file

 If the CSV file is not formatted properly and has messed up columns, the error shows up in error section

 csvi analyser unformatted csv file

Inconsistent number of nodes in XML

If there are inconsistent number of nodes in XML file from one item to another then the Analyser would show empty columns for the missing nodes. The XML can still be imported just for the second product in this example the child fields are ignored.

csvi analyser xml incosistent rows 

More articles on this subject

Read more ...

I want to import Joomla articles

| RO CSVI

This document explains on how to import Joomla articles using RO CSVI.

Read more ...

Import XML with same node names

| RO CSVI

When it comes to XML file we remember nodes and it is possible that these XML files have same node names but with different node values. CSVI can read these XML files and the nodes values to import them in to the database. In this document we are going to explain with an example on how a parent product and child products defined in same node names are imported but with different values.

Consider the following XML example

<?xml version="1.0" encoding="UTF-8"?>
<products>
   <product id="1227654" product_sku="sku-23-012860">
    <description>
      <name><![CDATA[Sample product]]></name>
      <long_desc><![CDATA[Sample product description]]></long_desc>
   </description>
     <price gross="322.22" net="251.97" vat="33.0"/>
    <childs>
       <child id="3" size_name="S" product_mpn="1227654-1" weight="200">
          <stock id="1" quantity="10"/>
       </child>
       <child id="5" size_name="L"  product_sku="sku-17-C4-161" product_mpn="1227654-2" weight="600">
         <stock id="1" quantity="10"/>
      </child>
      <child id="6" size_name="XL" product_sku="sku-17-C1-161" product_mpn="1227654-3" weight="800">
         <stock id="1" quantity="15"/></child>
     </childs>
    </product>
   </products>

As per the above XML we have one parent product and two child products.  The first <child> node is for parent product details and the next two <child> nodes are for children. We need three different import templates with different template settings to import these products. Frst step is to import the parent product.

 Import parent product

1. Create an VirtueMart product import template for parent product. In the template settings, select the Component as VirtueMart, Operation as product and Action as import. Save the template. Also make sure that you set User file for configuration option on File tab to No, this option will use template fields instead of column headers in import file as fields.

vm import parent product create template

2. Set the template fields according to the XML node and as shown below. Since we are going to use the first <child> node for parent we can ignore the rest of the child nodes.

vm parent product create templatefields

3. Now go to Import page, select the parent product import template and run the import.

 vm import parent product run import

 

Import first child product

1. Create a new import template to import first child product. In the template settings, select the Component as VirtueMart, Operation as product and Action as import. Save the template. Note that the template settings are same as of parent product but the template field settings are going to be different.

vm import child product create template

2. Create template fields and set the XML nodes. We need to use the second <child> node for the first child product so we are going to set the first <child> to Skip field so CSVI ignores them during import.

vm import first child product create templatefields

3. Go to CSVI import page, select the template created for first child product and run the import.

 vm import child product run import

Import second child product

1. Create VirtueMart product import template for second child product. As we did for parent and first child product in the template settings, select the Component as VirtueMart, Operation as product and Action as import. Save the template. The template field settings are going to be different from parent and first child product.

vm import second child product create template

2. Create template fields so we skip the first two <child> nodes and use the third child note for the product. We are going to use Skip field for ignoring the first two child nodes and tell CSVI to use the third node.

vm import second child product create templatefield

3. Select the second child import template and Run the import from CSVI import page.

vm import second child product run import

More articles on this subject

Read more ...

List of Component and Operations

| RO CSVI

The document lists the component and operation for each RO CSVI addons. These component and operations are needed when you create an import or export template.

Read more ...