Archive Forum Instructions

Posts: 3744
Joined: 08/07/2007
AdministratorHead Code Monkey - I eat bugs.

Use this forum as a temporary holding pool for rescued threads from before the crash. The idea is to grab threads you created or that were of interest to you so we don't lose all the brainstorming, support, and other information contained in them. We don't need to recover threads w/ bug reports that have been taken care of or threads relating to deprecated parts of the site.

The goal is to move these to their proper forums as users log back in so we can set the names on the threads to the original creators for Juice and post count purposes. I'm not too worried about that, but it'd be nice for people not to be hosed out of their community credentials.

(And don't worry, even if is seems unfair to lose your records, know that I lost more than everyone else combined. Eye-wink )

Posts: 95
Joined: 08/07/2007
Uber DonorBug FinderEarly adopter... addicted to alphas.Spreading the word - Ubercart for president.

--------------------------------------------
CSS to customize the default Catalog display
---------------------------------------------
Contrib type: Theme/Template
Status: Complete and working
Compatibility: Ubercart Alpha 7b
The following code can be added to your principal CSS file and then tweaked to enhance the appearance of the default Catalog presentation that comes packaged with UC. (You can view this code live at the following URL: http://www.greystokefarm.com/store/catalog) The code below will not interfere with customizations you might have made if you are using Views and have styled grid displays for your product categories.

Begin CSS code:

.category {background: #cccc99; padding: 1em; border: 2px solid;}
.category tr td {padding: 2em; border: 2px solid; }
.category tr td strong a {font-size: 1.1em; letter-spacing: .1em; font-weight: 700; color: #000; padding-left: .1em; padding-right: .1em; padding-top: .2em; padding-bottom: .2em; }
.category tr td strong a:hover {font-size: 1.1em; background: #ddd; padding-left: .5em; padding-right: .5em; padding-top: .1em; padding-bottom: .4em; border: 1px solid ;}
.category div a img {border: 3px solid #333366; padding: .5em; background: #E0DFB1; margin-top: .6em; }

End CSS code.

--
Posts: 95
Joined: 08/07/2007
Uber DonorBug FinderEarly adopter... addicted to alphas.Spreading the word - Ubercart for president.

Contrib type: Theme/Template
Status: Complete and working
Compatibility: Ubercart Alpha 7b

Using a combination of Views, Views bonus pack, CCK, and image_field, you can change customize the display output for the uc_catalog.module from the default table view to a grid view.
---------------------------------------------------
INSTRUCTIONS FOR CREATING A GRID DISPLAY FOR A PAGE
---------------------------------------------------
1. Upload and activate the latest Views, View Bonus pack, CCK, and image_field modules.

2. Go to /admin/build/views/add.

3. Give your view a name, determine access, and enter a description. Click on Save and Edit at the bottom of the screen.

4. Click on Page. Check the box for "provide page view." Give your view a URL (grid_display, for example). For View type select "Bonus: Grid view." Give your view a title; for nodes per page, enter a number reflecting the number of products you want to display in your grid. (You can use pager if you want to have multiple page views for your products, i.e., 10 on page 1, another 8 on page 2, etc.). Under header and/or footer, you can enter some text describing the products if you wish. Click on Save and Edit at the bottom of the screen.

5. Click on Fields. Add the "Image (field_image_cache)" field; for Handler, select "Do not group multiple values"; for Option select "Thickbox product." Now add the "Node: Title field"; for Handler select normal; for Option, select "as link"; For Sortable and Default Sort, select No and None, respectively. Click on Save and Edit at the bottom of the screen.

6. Click on Filters. Add the "Node: Published" filter and set the Operator to Published and the Value to Yes. Next add the filter entitled "Taxonomy: Terms for Product Catalog"; for Operator, select "is all of" and for Value, select one of your categories that appears in the select list. Click on Save and Edit at the bottom of the screen.

7. Click on Sort Criteria. Under Add Criteria, select an option if you wish and press the "Add criteria" button.

8. Click on the Save button at the bottom of the screen. You should then be redirected to the view you have just created. If not, navigate to the URL you designated for your new grid display view.

9. The following is the exported code from the grid display view I created at http://www.greystokefarm.com/store/all_products. Rather than create a new view from scratch as I have described in points 1 through 8 above, you are welcome to navigate on your site to /admin/build/views and simply import it. You can then customize the details itemized in para number 4 above.

   $view = new stdClass();
  $view->name = 'display_new';
  $view->description = 'New product display';
  $view->access = array (
);
  $view->view_args_php = '';
  $view->page = TRUE;
  $view->page_title = 'All products';
  $view->page_header = 'To see a larger image, click on a thumbnail.  For a description and ordering options, please click on the link below.';
  $view->page_header_format = '1';
  $view->page_footer = '';
  $view->page_footer_format = '1';
  $view->page_empty = '';
  $view->page_empty_format = '1';
  $view->page_type = 'bonus_grid';
  $view->url = 'all_products';
  $view->use_pager = TRUE;
  $view->nodes_per_page = '45';
  $view->sort = array (
    array (
      'tablename' => 'node',
      'field' => 'title',
      'sortorder' => 'ASC',
      'options' => '',
    ),
  );
  $view->argument = array (
  );
  $view->field = array (
    array (
      'tablename' => 'node_data_field_image_cache',
      'field' => 'field_image_cache_fid',
      'label' => '',
      'handler' => 'content_views_field_handler_ungroup',
      'options' => 'thickbox][product',
    ),
    array (
      'tablename' => 'node',
      'field' => 'title',
      'label' => '',
      'handler' => 'views_handler_field_nodelink',
      'options' => 'link',
    ),
  );
  $view->filter = array (
    array (
      'tablename' => 'node',
      'field' => 'status',
      'operator' => '=',
      'options' => '',
      'value' => '1',
    ),
    array (
      'tablename' => 'term_node_5',
      'field' => 'tid',
      'operator' => 'OR',
      'options' => '',
      'value' => array (
  0 => '74',
  1 => '76',
  2 => '73',
  3 => '78',
  4 => '79',
  5 => '80',
  6 => '81',
  7 => '84',
  8 => '77',
),
    ),
  );
  $view->exposed_filter = array (
  );
  $view->requires = array(node, node_data_field_image_cache, term_node_5);
  $views[$view->name] = $view;

-----------------------------------------
INSTRUCTIONS FOR CREATING A BLOCK DISPLAY
-----------------------------------------

To create a block that will randomly display images and titles of the products you have opted to display in the page view above, repeat steps 1, 2 and 3. Then:

(a) Click on Page. Click on Block, and select provide block.

(b) Select Bonus: Grid View, and give your block a title. Under nodes per block, enter 1.

(c) Repeat steps 5, 6 and 7, but this time, for step 7 (Sort Criteria), select Random (you can then opt for ascending or descending, it does not make that much of a difference). Now repeat step 8.

(d) Go to /admin/build/block, and activate the block you have just created. It should appear, and each time you refresh your page, a new image and description from the product category you have selected should be visible in the block.

(e) To add multiple products to the block to that a random image of more then one product type appears in the block, go to step 6 above. Look at the filter entitled "Taxonomy: Terms for Product Catalog."; For Operator, select "is one of" and for Value, select two or more of the categories that appear in the select list.

(f) The following is the exported code from the block display of horse images that you will see in the left sidebar if you visit our homepage, http://www.greystokefarm.com. Rather than create a new block view from scratch as I have described in (a) through (e) above, you are welcome to navigate on your site to /admin/build/views and simply import it. You can then customize the details as discussed previously.

$view = new stdClass();
  $view->name = 'image_block';
  $view->description = 'image_block';
  $view->access = array (
);
  $view->view_args_php = '';
  $view->page = FALSE;
  $view->page_title = 'Image Block';
  $view->page_header = 'Applesauce is a small 6 year old chestnut crossbred mare. She has a sweet temperament, loves kids, is forward moving, and has started over small jumps.';
  $view->page_header_format = '1';
  $view->page_footer = '';
  $view->page_footer_format = '1';
  $view->page_empty = '';
  $view->page_empty_format = '1';
  $view->page_type = 'bonus_grid';
  $view->url = 'ponies/applesauce';
  $view->use_pager = FALSE;
  $view->nodes_per_page = '1';
  $view->block = TRUE;
  $view->block_title = 'From the gallery';
  $view->block_header = '';
  $view->block_header_format = '1';
  $view->block_footer = '';
  $view->block_footer_format = '1';
  $view->block_empty = '';
  $view->block_empty_format = '1';
  $view->block_type = 'bonus_grid';
  $view->nodes_per_block = '1';
  $view->block_more = FALSE;
  $view->block_use_page_header = FALSE;
  $view->block_use_page_footer = FALSE;
  $view->block_use_page_empty = FALSE;
  $view->sort = array (
    array (
      'tablename' => 'node',
      'field' => 'random',
      'sortorder' => 'ASC',
      'options' => '',
    ),
  );
  $view->argument = array (
  );
  $view->field = array (
    array (
      'tablename' => 'node_data_field_image',
      'field' => 'field_image_fid',
      'label' => '',
      'handler' => 'content_views_field_handler_ungroup',
      'options' => 'thickbox][thumbnail',
    ),
  );
  $view->filter = array (
    array (
      'tablename' => 'node',
      'field' => 'status',
      'operator' => '=',
      'options' => '',
      'value' => '1',
    ),
    array (
      'tablename' => 'term_node',
      'field' => 'tid',
      'operator' => 'OR',
      'options' => '',
      'value' => array (
  0 => '47',
  1 => '18',
  2 => '30',
  3 => '3',
  4 => '33',
  5 => '5',
  6 => '24',
  7 => '6',
  8 => '32',
  9 => '7',
  10 => '8',
  11 => '9',
  12 => '10',
  13 => '11',
  14 => '12',
  15 => '13',
  16 => '31',
  17 => '1',
  18 => '20',
  19 => '46',
  20 => '14',
  21 => '16',
  22 => '21',
  23 => '23',
  24 => '15',
  25 => '22',
  26 => '40',
  27 => '43',
  28 => '42',
  29 => '41',
  30 => '44',
),
    ),
  );
  $view->exposed_filter = array (
  );
  $view->requires = array(node, node_data_field_image, term_node);
  $views[$view->name] = $view;

--
Posts: 95
Joined: 08/07/2007
Uber DonorBug FinderEarly adopter... addicted to alphas.Spreading the word - Ubercart for president.

Contrib type: Theme/Template
Status: Complete and working
Compatibility: Ubercart Alpha 7b
----------------------------------------------------------------------------
Create a node that contains the grid view you have created for your products
----------------------------------------------------------------------------
Now that we know how to create a grid view for our products it is useful to know how to take that view and insert it into a page. This gives you maximum flexibility in presenting and formatting the product category you wish to display.

--You will need the Viewfield module (http://drupal.org/project/viewfield).

--The following tutorial assumes you already have the Views module uploaded and activated.)

1. Upload and activate the Viewfield module.

2. Navigate to /admin/content/types/page.

3. Click on the Add field tab.

4. Give your view a name ("Insert a view"). Click on "select list" under View Reference. Save.

5. Click on "Display fields" or navigate to /admin/content/types/page/display.

6. For View Reference, label, select "hidden." Save.

7. Go to create content, select page, and you should now see a field that says "Insert a View:" and beneath it a drop down list of all the views you have created.

8. Select a view, add whatever title and other information you wish, and click on Submit.

9. You have just created an individual node that contains a view, which itself is a query that holds other nodes. You can insert multiple views into a single page. One view could be the name of a product manufacturer, and the other could be all the products made by that manufacturer which you sell. (Note: to do this you will need to go to /admin/content/types/page/fields, click on Configure "insert a view" field, and under Data settings select "multiple values.") The possibilities are (almost) endless.

10. Using URL aliasing or URL redirecting, you can either customize the path of your new page (for example, catalog/widgets) or simply redirect the node to a different address.

--
Posts: 4
Joined: 08/08/2007

Using PayPal with Ubercart
Why use PayPal with Ubercart?

PayPal is an easy, cheap way for you to deliver secure checkout for your customers. You can accept credit card payments, eChecks, and PayPal transfers from the millions of people already signed up to use PayPal. There is even a service that lets your customers who do not have PayPal accounts pay by credit card through the PayPal server. PayPal is a great payment solution for small businesses and is a good option for larger ones, too. It's fast, easy, and secure.

What services are integrated?

Website Payments Standard - customers are redirected to PayPal after reviewing their order to complete payment; they return to your site once payment is completed
Website Payments Pro - customers checkout through Ubercart and PayPal is used as a payment gateway for you to process credit cards from within your site; customers never leave your site
Express Checkout - customers are redirected to PayPal where they login to their PayPal accounts; they are then sent back to your Ubercart site to finish checkout, choosing a shipping method and providing a company name/phone number if needed before approving the total payment
The PayPal module will be included in the next release and is currently here:
http://www.ubercart.org/forum/announcements/1199/paypal_integration_comp...

Instant Payment Notifications

The Ubercart PayPal module is setup to accept Instant Payment Notifications (IPN) from PayPal. This means that any time someone completes an order using PayPal, your site will receive a confirmation message from PayPal that Ubercart uses to verify completed payments. When an IPN is received, its data is verified and the payment is then logged to the appropriate order. The Transaction ID is logged to the order and displayed for your customers to review any time they log into their accounts and check their order histories.

What does it take to get started?

In order to use PayPal as your payment solution, you must have a PayPal account. Signing up is really simple, and you can support the Ubercart project by using our referral link below. Once you have signed up, you need to verify your account and upgrade to a Premier or Business Account depending on the service you wish to use. Consult the appropriate documentation and customer service on their website. Business Accounts are charged a monthly fee but give you access to the Website Payments Pro option.

Scroll down for more detailed instructions.

Support Ubercart

By becoming PayPal certified, Ubercart is now listed in the PayPal Solutions Directory. This gives us great exposure and the chance to display links that let people sign up as referred by Ubercart. If you don't have any other way to support the Ubercart project, simply using our referral link to sign up for your PayPal account and using PayPal as your payment solution will help support continued development.

Referral link: https://www.paypal.com/us/mrb/pal=6NXAPNGSS6DFJ

Detailed Account Setup Instructions:

Step 1: Set Up a Verified PayPal Business Account

Customers who don't have an existing PayPal account:

Go to PayPal.
Click Sign Up Today.
Set up an account for Business Owners.
Follow the instructions on the PayPal site.
Customers who already have a Personal or Premier account:

Go to PayPal.
Click the Upgrade your Account link.
Click the Upgrade Now button.
Choose to upgrade to a Business account and follow instructions to complete the upgrade.
If you haven't already, add a bank account to become a Verified member. Follow the instructions on the PayPal site. This process may take 2-3 business days.
Step 2: Apply for Website Payments Pro
This step is only required for Website Payments Pro.

Go to PayPal.
Click the Merchant Services tab.
Click Website Payments Pro (U.S. Only).
Click Sign Up Now.
Fill in your information, and submit your application. Approval takes between 24 and 48 hours.
Once approved, accept the Pro billing agreement. Check the Getting Started section on the upper left of your account overview page.
Step 3: Setup API Access

First-party authentication: Register API signature

Log in to your PayPal account and click the Profile subtab.
Click the API Access link under the Account Information column.
Click the Request API Credential link.
Select the API Signature credential.
Browse to the Payment gateways tab in your Ubercart Payment settings menu and fill in the API credentials information in the PayPal Website Payments Pro settings section of the page.

Posts: 4
Joined: 08/08/2007

PayPal Integration Completed (for now)
Submitted by Ryan on Tue, 06/26/2007 - 09:48
Ryan

Posts: 1693
Joined: 09/26/2006

This is just an announcement to all those that care to say that the initial PayPal integration drive is done. The result is a master-module that integrates the following PayPal services with Ubercart:

Website Payments Standard - customers are redirected to PayPal after reviewing their order to complete payment
Website Payments Pro - customers checkout through Ubercart and PayPal is used as a payment gateway for you to process credit cards from within your site
Express Checkout - customers are redirected to PayPal where they login to their PayPal accounts; they are then sent back to your Ubercart site to finish checkout, choosing a shipping method and providing a company name/phone number if needed before approving the total payment
Instant Payment Notifications - Ubercart will receive payment information from PayPal and log it to your orders
All of this can be previewed on the Livetest. To test all the services, you will need to have a Sandbox account at PayPal. There will be a link once you try to complete payment that lets you register.

If you want to give it a shot on your own site, download the attached module. It may not work with Alpha 6c due to changes made in other modules. You can download the latest code from the Bazaar repository. There will be an Alpha 6d release as soon as this is tested and certified by PayPal that includes the module and a host of other changes.

You should go to your PayPal account profile to get API credentials necessary for Website Payments Pro/Express Checkout. Also, you'll want to turn on Instant Payment Notifications, but leave the URL field empty as it is supplied by the module.

Using some of these services requires you to have a Premier or Business Account with PayPal, and fees may apply (particularly for credit card processing). Once you have installed the module, you can adjust the settings from the payment gateway configuration menus.

To support Ubercart, if you have not yet signed up for your PayPal account, please use our referral link!

https://www.paypal.com/us/mrb/pal=6NXAPNGSS6DFJ

I have compiled, trimmed, revised, and added to work from the following members:
cosmo83@drupal.org, izi, olav@drupal.org, and patrickharris

Thanks guys.

EDIT: DOWNLOAD REMOVED. NOW IN ALPHA 7.

Add new comment
permalinkTue, 06/26/2007 - 11:10
cosmo83@drupal.org

Posts: 47
Joined: 05/22/2007

I think the table is not created. I have this error after the order has been compleetd.

user warning: Table 'vingowine.uc_payment_paypal_ipn' doesn't exist query: SELECT txn_id FROM uc_payment_paypal_ipn WHERE order_id = 3 ORDER BY received ASC in /var/www/vhosts/vingo.biz/httpdocs/includes/database.mysql.inc on line 172.

reply
permalinkTue, 06/26/2007 - 11:21
Ryan

Posts: 1693
Joined: 09/26/2006

It's good in the install file in that package. It may be you need to re-enable it if you were simply replacing this with a previous version.

reply
permalinkTue, 06/26/2007 - 16:12
Lifeischoice

Posts: 41
Joined: 03/22/2007

Thank you Ryan and others for the module...I am still not sure if this module can now be used for membership subscription?

reply
permalinkTue, 06/26/2007 - 19:21
drupaljunkies
Posts: 9
Joined: 06/05/2007

2checkout next please! pretty please.

reply
permalinkTue, 06/26/2007 - 21:22
Lifeischoice

Posts: 41
Joined: 03/22/2007

Downloaded the module and started testing...so far so good...working for sandbox checkout...still searching for how to do subscription...

reply
permalinkWed, 06/27/2007 - 07:35
Ryan

Posts: 1693
Joined: 09/26/2006

Yeah, subscriptions are still on the module's to-do list, but mostly because there is no way to designate products as requiring recurring payment. That's going to take a special product module before I can make it work with any particular payment gateway. I thought someone may have been working on that, but we may have to knock it out eventually.

In other news, when I was trying to get this code certified, I found out that I had in fact done part of Express Checkout wrong... so I've got to rework that a little today. Will post back more in a bit.

reply
permalinkWed, 06/27/2007 - 10:48
Lifeischoice

Posts: 41
Joined: 03/22/2007

Thanks for the clarification...

reply
permalinkThu, 06/28/2007 - 08:27
Ryan

Posts: 1693
Joined: 09/26/2006

Updated the zip... Apparently I had more work to do. I had to separate out the Express Checkout Mark Flow (where a customer bypasses the yellow Express Checkout button but then chooses PayPal as a payment method) from the Website Payments Standard which is just a redirected shopping cart completion. If you have a sandbox account, you should see the difference. PayPal is about to do integration testing.

I'm still tweaking this to add a few more error messages to help customers and to make the code a wee-bit smaller. Some code has been reused, so I'm going to break those places out into separate functions.

See http://www.ubercart.org/paypal for a little more information on using PayPal in Ubercart.

reply
permalinkSat, 06/30/2007 - 08:14
Oliver
Posts: 18
Joined: 05/12/2007

A shop I'm currently setting up uses Swiss Francs, so I added CHF as another currency code for transactions with Website Payments Standard in uc_payment_method_paypal_wps():

'#options' => drupal_map_assoc(array('AUD', 'CAD', 'CHF', 'EUR', 'GBP', 'JPY', 'USD'))

Maybe the list of currencies available in the payment settings could be associated with countries imported under country settings?

--

2000 Watt Society!

reply
permalinkMon, 07/02/2007 - 08:22
Ryan

Posts: 1693
Joined: 09/26/2006

Not sure... the hard coded list was actually taken from the PayPal API documentation. I'm kind of curious to see if you can get it to work w/ passing CHF as your currency code.

reply
permalinkMon, 07/02/2007 - 14:08
Ryan

Posts: 1693
Joined: 09/26/2006

Just a note to say that PayPal has completed the integration testing and given us their shiny little logo to display on the front page. Hopefully other integrated systems will be popping up there in the future.

You can bet I'll be posting a link to our page in the solutions directory as soon as it's up. Now maybe I can get some work on the site done.

reply
permalinkTue, 07/03/2007 - 03:17
Oliver
Posts: 18
Joined: 05/12/2007

As of this page PayPal currently allows managing balances in these currencies:

Canadian Dollars
Euros
Pounds Sterling
U.S. Dollars
Yen
Australian Dollars
New Zealand Dollars
Swiss Francs
Hong Kong Dollars
Singapore Dollars
Swedish Kronor
Danish Kroner
Polish Zloty
Norwegian Kroner
Hungarian Forint
Czech Koruna
In my sandbox account I can receive payments in CHF, no problem. Also, the currency code shows correctly on the payment pages.

--

2000 Watt Society!

reply
permalinkTue, 07/03/2007 - 07:53
Ryan

Posts: 1693
Joined: 09/26/2006

Excellent! Added those in and re-uploaded.

reply
permalinkTue, 07/24/2007 - 06:55
rio_gio

Posts: 5
Joined: 06/13/2007

Any news on when this will be available for download?

I'd really like to have it.

reply
permalinkTue, 07/24/2007 - 07:29
Ryan

Posts: 1693
Joined: 09/26/2006

This is bundled in the latest release, Alpha 7b. It takes advantage of some functions added along the way between releases, so you'll need to do a full upgrade (backup!, install Alpha 7b over the old version, and run update.php on your site).

Ryan A (not verified)

How many people are using archive.org to reconstruct content from the site / forum?

Granted the data is from July, but it's something.

Features and Comparison:

Comparing Ubercart with Other E-commerce Packages

We understand that Übercart is not alone in the free e-commerce software world. Other viable alternatives have done quite well for themselves, including osCommerce and its derivatives and the e-commerce package for Drupal. Many people are interested in comparing shopping cart packages before settling on one, and we hope to provide just the kind of information they are looking for right here. Unfortunately, we simply haven't used everything out there!

For developers familiar with other product offerings, it may be enough to have a look at our features list or the Features Overview section in the User's Guide.

If there's enough demand and someone is available to create a comparison chart, we would happily display one here listing the various features expected in an e-commerce package and how different open source solutions implement those features. For the time being, feel free to ask questions in the forums.

Why use a Drupal solution?

One of the main advantages Übercart and the e-commerce package have over other shopping cart solutions is that it is run on Drupal. This means you not only have the ability to run a store, but you can run a full scale community website utilizing any of the contributed modules or themes found at Drupal.org including blogs, forums, internationalization, and dozens of themes. For store owners, of particular interest to you will be the fact that Drupal is very search engine friendly. Several modules have been developed to enhance Drupal's out of the box search engine optimization. Your site is sure to rank well with Drupal!

Why not use the e-commerce package?

This page will be opened up to comments so that information in this section may be added to or corrected. We have not implemented Drupal's e-commerce in a live site, but we tested it enough and did enough development to decide that it was not for us. We have tried to make checkout and order administration, the two main things you'll be doing with your e-commerce site, easier to use and understand than the interfaces found in Drupal's e-commerce. This is up for debate, and we invite constructive criticism on how to make our user interfaces better! Currently this means we have reduced the amount of clicks it takes to checkout, provided an enhanced checkout for logged in users and anonymous checkout for others, and created display screens for orders that simply operate better. View the screenshots page to see some of these displays on a clean installation.

Our product system is also entirely different. We have implemented an attribute system more like the one found in osCommerce. We also don't require products of different types to all be different node types defined in separate modules. Differing product types may be created on the fly using product classes. You can read more about these key features in the Features Overview section of the User's Guide.

If anyone has other points of comparison they'd like to offer, either for or against Übercart, feel free to add them in the comments section. We'll go through and clean up this page periodically to update the text with information from the comments and work your suggestions for improvement into the code!

Cheers,

Ryan