Data feeder core class and Froogle extended class. In the future, additional feeds can easily be added by taking advantage of the core class.
What does this contribution accomplish?
This contribution offers a general data feed class that includes support for FTP upload, browser download, data generation and file saving, file viewing (text or HTML), and also automatic image enlargement.
The code handles duplicate products and also outputs the special price if present.
What data feed services does this contribution support?
All of them. This is a general core class that provides basic functions such as upload, download, create, view, and image manipulation. I have included one feed as an example of how to use the core class to create a feed and use the methods (Froogle). In the future, I hope this project lays the foundation of a stable and user friendly system of modules through class implementation. Listen, MS3 is going to class and OOP programming so you might as well too. Create your own class and submit it to the community!
1. Unzip the files (preserving their file structure) into your local admin directory. These are all new files and will not overwrite anything.
2. Create a folder on your system for the enlarged images and feed text file. I recommend *catalog*/feeds/ since that is the directory used in the example. However, it can be anything you choose. CHMOD the permissions to 777 so the server can write to the directory. Remember the path to this directory.
3. Modify the settings in admin/includes/classes/froogle.php. READ WHAT EACH ONE IS FOR BEFORE CHANGING!
4. Upload the files to your server.
5. Open admin/includes/boxes/column_left.php and add this line where you want the box to display:
require(DIR_WS_BOXES . 'storefeed.php'); //store feed menu
6. OPTIONAL: Create a cron entry for your FTP upload cron file (weekly). Change the pathbelow to your path to the cron.php file
0 4 * * 3 /usr/bin/php -q /home/username/public_html/admin/cron.php
WHAT TO EXPECT:
The first time the file is called in the browser each product in your catalog will have the image enlarged and saved in the directory set in admin/includes/classes/froogle.php. It is a server intensive process to generate large 500px images so the server may time out on you. Don't worry...most servers have a 30 second processing timelimit for PHP. Just refresh the page and it will pick up where it left off.
After the first time you call it in your browser the script will automatically check to see if the enlarged image is present and if so just return that instead of resizing it on every page view. To change an image that has already been created just delete it from the enlarged image directory. On the next page view it will be enlarged again.
HOW TO USE THIS CONTRIBUTION:
1. Upload - Select this link to upload the file to the Froogle server (no more often than once daily)
2. Download - Select this link to download the document in text format
3. View HTML version - Default data view (everything is better with a little HTML!)
4. View TXT Version - View the document in a new browser window
The first time you call the script in the browser it must have time to enlarge all the product pictures. If it times out on you don't worry...just refresh the page and it will continue where it left off. Once the images are enlarged the script will run super fast (only 1 query!) as that does not have to be done again.
I would highly recommend you setup the automated cron job since that will make your life much easier. This contribution is designed to be modular so that multiple feeds can use the same base class and be completely automated. Once you set the cron job adding others to it will be simple...add 4 lines of code to the cron.php file!