Jump to content
ecartz

Import/Export Module System 1.0 Support

Recommended Posts

Hi there I get the same error that carolinagirl is I checked the install and it seems to be complete I also added '<a href="' . tep_href_link(FILENAME_MODULES, 'set=file_layouts', 'NONSSL') . '" class="menuBoxContentLink">' . BOX_MODULES_FILE_LAYOUTS . '</a><br>' . to ..../boxes/modules.php

 

The error reads:

Fatal error: Call to a member function on a non-object in c:\inetpub\wwwroot\catalog\admin\includes\classes\file_layout.php on line 53

 

Thanks

 

 

Jodie

Share this post


Link to post
Share on other sites
Add
//elari check default language_id from configuration table DEFAULT_LANGUAGE
?$epdlanguage_query = tep_db_query("select languages_id, name from " . TABLE_LANGUAGES . " where code = '" . DEFAULT_LANGUAGE . "'");
?if (tep_db_num_rows($epdlanguage_query)) {
? ?$epdlanguage = tep_db_fetch_array($epdlanguage_query);
? ?$epdlanguage_id ? = $epdlanguage['languages_id'];
? ?$epdlanguage_name = $epdlanguage['name'];
?} else {
? ?echo 'Strange but there is no default language to work... That may not happen, just in case... ';
?}

?$langcode = ep_get_languages();

to the walk function of admin/includes/functions/easypopulate.php around line 64.

 

Around line 34 change

 ? ?if ($HTTP_POST_VARS['split'] == '1') {

to

 ? ?if ($HTTP_GET_VARS['split'] == '1') {

 

84 of admin/import.php change

} elseif ($HTTP_POST_VARS['split'] == '0') {

to

} elseif (($HTTP_GET_VARS['split'] == '0') || isset($HTTP_POST_VARS['localfile'])) {

Hth,

Matt

The second and thrid steps of those instructions cannot be found in the relevant files... can you double check this please Matt?

 

It's almost fully working for me, i can download the files in txt format, import them into excel and then work with them from there. But when i export from excel as a tab-delimited text file, and try to import into OsCommerce, i get the following error:

 

TEXT_FILE_UPLOADED

TEXT_TEMPORARY_FILENAMEC:\PHP\uploadtemp\php87DF.tmp

TEXT_SIZE7316

 

The TEXT_SIZE value always seems to be different with each attempt to upload. It even says at the top of the screen, "Success: File upload saved successfully" but nothing seems to be added to the catalog...???

Share this post


Link to post
Share on other sites

It should be

Around line 34 of admin/includes/modules/import.php change
    if ($HTTP_POST_VARS['split'] == '1') {

to

    if ($HTTP_GET_VARS['split'] == '1') {

around line 84 change

} elseif ($HTTP_POST_VARS['split'] == '0') {

to

} elseif (($HTTP_GET_VARS['split'] == '0') || isset($HTTP_POST_VARS['localfile'])) {

Hth,

Matt


Always back up before making changes.

Share this post


Link to post
Share on other sites

When I export a Froogle feed I'm getting duplicates when products are in multiple catagories. Has anybody coded a fix for this?

Share this post


Link to post
Share on other sites
When I export a Froogle feed I'm getting duplicates when products are in multiple catagories. Has anybody coded a fix for this?

You could try replacing lines 124-5 of includes/modules/file_layouts/froogle.php

                           pd.language_id = '1'
                       ";

with

                           pd.language_id = '1'
                        GROUP BY p.products_id
                        ORDER BY p.products_id
                       ";

Hth,

Matt


Always back up before making changes.

Share this post


Link to post
Share on other sites
Warning: dir(/home/dcgtest2/public_html/catalog/IMPORT_EXPORT_TEMP_DIR): failed to open dir: No such file or directory in /home/dcgtest2/public_html/catalog/admin/import.php on line 99
IMPORT_EXPORT_TEMP_DIR should be set in the configuration table. It's part of what the .sql file does. Note: the .sql file may only be compatible with newer versions of MySQL. The other error is a result of this one.

 

Sorry about the delay, I had thought that I had posted this already.

 

Hth,

Matt


Always back up before making changes.

Share this post


Link to post
Share on other sites
When I export a Froogle feed I'm getting duplicates when products are in multiple catagories. Has anybody coded a fix for this?

You could try replacing lines 124-5 of includes/modules/file_layouts/froogle.php

 ? ? ? ? ? ? ? ? ? ? ? ? ? pd.language_id = '1'
? ? ? ? ? ? ? ? ? ? ? ?";

with

 ? ? ? ? ? ? ? ? ? ? ? ? ? pd.language_id = '1'
? ? ? ? ? ? ? ? ? ? ? ? GROUP BY p.products_id
? ? ? ? ? ? ? ? ? ? ? ? ORDER BY p.products_id
? ? ? ? ? ? ? ? ? ? ? ?";

Hth,

Matt

Thank you!!

 

I have been trying to find time to unravel the code in the froogle routines to add a sort and uniq function for some time, without success. Those two simple additions fixed the whole thing. I've also commented out the lines that generate the obsolete header, and now can generate a perfect froogle file! Now, we just need the ability to generate a file with the filename assigned by froogle, and the module will be perfect!

 

Thanks again,

 

David

Share this post


Link to post
Share on other sites

Has anyone installed this contribution on an MS1 installation? I'm a bit hesitant to take that one on, as I haven't worked on an MS1 store before, but a friend needs this functionality and is hopelessly clumsy with code.

Share this post


Link to post
Share on other sites
Has anyone installed this contribution on an MS1 installation?  I'm a bit hesitant to take that one on, as I haven't worked on an MS1 store before, but a friend needs this functionality and is hopelessly clumsy with code.
It might be easier just to use an old version of Easy Populate. There were versions written to work with MS1.

 

Hth,

Matt


Always back up before making changes.

Share this post


Link to post
Share on other sites
It should be
Around line 34 of admin/includes/modules/import.php change
 ? ?if ($HTTP_POST_VARS['split'] == '1') {

to

 ? ?if ($HTTP_GET_VARS['split'] == '1') {

around line 84 change

} elseif ($HTTP_POST_VARS['split'] == '0') {

to

} elseif (($HTTP_GET_VARS['split'] == '0') || isset($HTTP_POST_VARS['localfile'])) {

Hth,

Matt

Hey, i tried changing the code in the import.php file but it was in the folder catalog/admin/includes/modules/ie_formats/import.php. It found the code and changed it though so your directions were found. I tried to upload the txt file with the catalogue changes in it though after changing the import.php file and it's still giving me a very similar looking error to the last ones:

 

TEXT_FILE_UPLOADED

TEXT_TEMPORARY_FILENAMEC:\PHP\uploadtemp\php35DC.tmp

TEXT_SIZE7316

 

Does this mean that the file is actually being uploaded but just to the wrong place? when i ftp the txt file to the catalog/temp folder and then upload it with the "Import Data from file in /temp" function, it gives me the error "Warning: No file uploaded." at the top of the page but there's no sign of the other errors listed above?? Any ideas?

 

Thanks!

Share this post


Link to post
Share on other sites

You're missing the language file. I'm not sure what the upload problem is. It's allowing you to pick the file from the drop down under Import File from /temp when you try that? Can the webserver read the file?

 

Hth,

Matt


Always back up before making changes.

Share this post


Link to post
Share on other sites
Has anyone installed this contribution on an MS1 installation?? I'm a bit hesitant to take that one on, as I haven't worked on an MS1 store before, but a friend needs this functionality and is hopelessly clumsy with code.
It might be easier just to use an old version of Easy Populate. There were versions written to work with MS1.

 

Hth,

Matt

Thanks, given that she probably won't need froogle that is doable.

 

David

Share this post


Link to post
Share on other sites
Has anyone installed this contribution on an MS1 installation?? I'm a bit hesitant to take that one on, as I haven't worked on an MS1 store before, but a friend needs this functionality and is hopelessly clumsy with code.
It might be easier just to use an old version of Easy Populate. There were versions written to work with MS1.

 

Hth,

Matt

Thanks, given that she probably won't need froogle that is doable.

 

David

The froogle data feeder is believed to be compatible with ms1. I haven't tested the lastest versions (v1.2+) on ms1, but v1.1.2a should work fine.

 

http://www.oscommerce.com/community/contributions,2000


Most likely your question has been answered, please do a search first.

Share this post


Link to post
Share on other sites

Any particular advice on adding new fields to the file layouts?

 

And on crafting new file layouts?

 

I'd like to add export and import files to support more images, attributes, the product cost field for the Margin Report, etc.

 

Thanks!

 

David

Share this post


Link to post
Share on other sites
Any particular advice on adding new fields to the file layouts?

 

And on crafting new file layouts?

I generally look for a field that does something similar and shadow it with the new field. For example, if I was adding store_id from the Virtual Mall contribution, I would search for manufacturers_id and manufacturers_name. For products attributes, I would look for categories (also a separate table).

 

With new file layouts (or any module), I start with the existing ones and change them appropriately. I usually do a search and replace for the old module name with the new module name while retaining case (i.e FULL becomes FROOGLE and Full becomes Froogle).

 

I still haven't figured out how I want to do imports. Right now, it's just a matter of adding new columns (just like with Easy Populate; very few changes have been made with importing). I would like to find a way to automate this more, but I'm not entirely sure which direction I want to go.

 

Hth,

Matt


Always back up before making changes.

Share this post


Link to post
Share on other sites

This is the errors I am getting...

 

Parse error: parse error in /home/www/chosenpath.freelinuxhost.com/catalog/admin/includes/functions/easypopulate.php on line 99

 

Warning: array_walk(): Unable to call walk() - function does not exist in /home/www/chosenpath.freelinuxhost.com/catalog/admin/includes/modules/ie_formats/import.php on line 116

 

 

Any Ideas?

 

bbbco

Share this post


Link to post
Share on other sites
This is the errors I am getting...

 

Parse error: parse error in /home/www/chosenpath.freelinuxhost.com/catalog/admin/includes/functions/easypopulate.php on line 99

 

Warning: array_walk(): Unable to call walk() - function does not exist in /home/www/chosenpath.freelinuxhost.com/catalog/admin/includes/modules/ie_formats/import.php on line 116

 

 

Any Ideas?

 

bbbco

Did you place the modified easypopulate.php in the admin/includes/functions directory??

Share this post


Link to post
Share on other sites
Any particular advice on adding new fields to the file layouts?

 

And on crafting new file layouts?

I generally look for a field that does something similar and shadow it with the new field. For example, if I was adding store_id from the Virtual Mall contribution, I would search for manufacturers_id and manufacturers_name. For products attributes, I would look for categories (also a separate table).

 

With new file layouts (or any module), I start with the existing ones and change them appropriately. I usually do a search and replace for the old module name with the new module name while retaining case (i.e FULL becomes FROOGLE and Full becomes Froogle).

 

I still haven't figured out how I want to do imports. Right now, it's just a matter of adding new columns (just like with Easy Populate; very few changes have been made with importing). I would like to find a way to automate this more, but I'm not entirely sure which direction I want to go.

 

Hth,

Matt

Thanks!

 

This worked for me when adding the cost field for the margins report. Took a little digging, but I just added v_products_cost or p.products_cost everywhere I found v_products_price - and it worked just tine. Now I'm trying to add the images for dynamic mopics - and my effort crashing. What I have done so far is create a copy of full.php in filelayouts and english/filelayouts - renamed to basic.php with the FULL part of the language constants changed to BASIC. Then, added the new image fields everywhere I could find the v_products_image field in full.php and easypopulate.php (in the functions directory). What I'm getting is a) a working download (ie export). But no import though I thought I had the imports working before both pre and post new cost field. The behavior is that the file is uploaded, a name is reported in the tmp directory but the file does not appear in the dropdown list in the tmp directory selection box. Can you see anything I've left out from this, or do I need to post some code??

 

David

Share this post


Link to post
Share on other sites
Any particular advice on adding new fields to the file layouts?

 

And on crafting new file layouts?

I generally look for a field that does something similar and shadow it with the new field. For example, if I was adding store_id from the Virtual Mall contribution, I would search for manufacturers_id and manufacturers_name. For products attributes, I would look for categories (also a separate table).

 

With new file layouts (or any module), I start with the existing ones and change them appropriately. I usually do a search and replace for the old module name with the new module name while retaining case (i.e FULL becomes FROOGLE and Full becomes Froogle).

 

I still haven't figured out how I want to do imports. Right now, it's just a matter of adding new columns (just like with Easy Populate; very few changes have been made with importing). I would like to find a way to automate this more, but I'm not entirely sure which direction I want to go.

 

Hth,

Matt

I think perhaps the next thing to do might be to rename the easypopulate function file and generate an import/export specific function file. It might also be helpful to use more descriptive counters in the contributions core files - it would perhaps make the code more clear when adding fields and functions.

 

May have some other comments later, but I'm about out of time to work on my modifications for this week....

 

David

Share this post


Link to post
Share on other sites
You're missing the language file. I'm not sure what the upload problem is. It's allowing you to pick the file from the drop down under Import File from /temp when you try that? Can the webserver read the file?

 

Hth,

Matt

Hey,

 

Which language file are you talking about? Im still getting errors trying to import data into the DB. Here's a screenshot of what it looks like after i try to import:

 

screenshot.gif

 

Any ideas?

Share this post


Link to post
Share on other sites
This is the errors I am getting...

 

Parse error: parse error in /home/www/chosenpath.freelinuxhost.com/catalog/admin/includes/functions/easypopulate.php on line 99

 

Warning: array_walk(): Unable to call walk() - function does not exist in /home/www/chosenpath.freelinuxhost.com/catalog/admin/includes/modules/ie_formats/import.php on line 116

 

 

Any Ideas?

 

bbbco

Did you place the modified easypopulate.php in the admin/includes/functions directory??

Yeah, here is what lines 98-103 in admin/includes/functions/easypopulate.php look like:

 

// now any remaining doubled double quotes should be converted to one doublequote
         $items[$i] = str_replace('\"\"',""",$items[$i]);
         if ($replace_quotes){
           $items[$i] = str_replace('\"',""",$items[$i]);
           $items[$i] = str_replace("\'","'",$items[$i]);
         }

 

 

and admin/includes/modules/ie_formats/import.php lines 114-117 look like:

 

// now we've got the array broken into parts by the expicit end-of-row marker.
     $walk_output = array();
     array_walk($readed, 'walk');
   }

 

Any ideas?

Share this post


Link to post
Share on other sites
// now any remaining doubled double quotes should be converted to one doublequote
         $items[$i] = str_replace('\"\"',""",$items[$i]);
         if ($replace_quotes){
           $items[$i] = str_replace('\"',""",$items[$i]);
           $items[$i] = str_replace("\'","'",$items[$i]);
         }

The correct code snippet would be:
          $items[$i] = str_replace('\"\"',""",$items[$i]);
         if ($replace_quotes){
           $items[$i] = str_replace('\"',""",$items[$i]);
           $items[$i] = str_replace("\'","'",$items[$i]);
         }

Something apparently converted the "s to ".

 

Hth,

Matt


Always back up before making changes.

Share this post


Link to post
Share on other sites

I installed the import/export module, but I am having some problems.

1) when I go into easypopulate select my file and then hit insert into database I get this error message:

 

File uploaded.

Temporary filename: /var/tmp/phpbpD64I

User filename: 8DHDistributing-BAGSCARRYCASESACTIVE.txt

Size: 793637

| DH62148 | isimages/D | Kensington | The perfe | 22.78 | 2.35 | 125 | Kensington | BAGS/CARRY | Notebook B | Active !New Product!

| DH62220 | isimages/D | Kensington | Designed | 56.64 | 4.5 | 127 | Kensington | BAGS/CARRY | Notebook B | Active !New Product!

| DH62230 | isimages/D | Kensington | Designed | 43.09 | 4.5 | 31 | Kensington | BAGS/CARRY | Notebook B | Active Updated

1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 's worth of

durability.

* Unique separation of ca

 

INSERT INTO products_description (products_id, language_id, products_name, products_description, products_url) VALUES ( '2236', 1, 'Kensington Skyrunner Contour Slim Case', ' Designed with the advice of certified ergonomists, this laptop bag offers unique, ergonomic comfort and unsurpassed laptop protection. No matter how much or how little you are carrying, it virtually eliminates stress and fatigue. With its unparalleled array of comfort and safety features, it is the only bag you need for your most important business ventures

MODEL- 62230 VENDOR- KENSINGTON TECHNOLOGY GROUP

 

FEATURES- Skyrunner Contour Slim Business Laptop Case

A technical achievement in comfort and computer protection.

Designed with the advice of certified ergonomists, the Sky Runner

Slim Contour carrying case offers unique, ergonomic comfort and

unsurpassed laptop protection. No matter how much or how little you

are carrying, it virtually eliminates stress and fatigue. With its

unparalleled array of comfort and safety features, it is the only

bag you need for your most important business ventures.

* Single-zipper access, top-loading access to three compartments provides

convenient access to easily-organized materials.

* SnugFit computer protection compartment keeps laptop off of the base of

the case, protecting it in the event of drops.

* Ergonomic, sculpted hip pad brings laptop weight closer to your center-

of-gravity, reducing back and neck strain.

* Elasticized, removable shoulder strap reduces shoulder strain and

absorbs shocks as you carry your laptop.

* Ergonomically-designed handles reduce hand strain.

* Easy-access compartment provides on-the-go access to aircraft tickets,

passports, etc.

* Heavy aircraft ballistic material provides a lifetime's worth of

durability.

* Unique separation of carrying pockets allows for easy organization.

 

DIMENSIONS- Outside: 5.0"w x 12.0"h x 16.5"d

Computer Compartment: 1.75"w x 9.5"h x 15.0"d

 

tech@kensington.com

 

 

MANUFACTURER WARRANTY: LIFETIME', '' )

 

[TEP STOP]

 

but it adds 2 products to my store, and puts the file in the temp directory.

 

When I click on Import on the menu at the left and go in and select the file and click on insert into db I get this message:

 

TEXT_FILENAME8DHDistributing-BAGSCARRYCASESACTIVE.txt

 

 

TEXT_FILE_UPLOADED

TEXT_TEMPORARY_FILENAME/var/tmp/phpJZ8pbl

TEXT_SIZE793637

 

and this message in a bar above the header:

 

Success: File upload saved successfully.

 

but no products are added to the store, but the file is added to the temp directory, but when you select the file from the Import Data from file in temp/ dropdown menu box you get the following error message at the top of the screen above the header:

 

Warning: No file uploaded.

 

What am I doing wrong, what do I need to change to get this to work? Please help me.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×