Software

Hop AWS Products (Amazon Web Services)

Current Version: 6.0.1
  • EE3
  • EE4
  • EE5
  • EE6
  • Installation

    1. Unzip the folder to a temporary location on your local hard drive.
    2. FTP the files from their local folders to the same locations in your EE install’s /system/user/addons/ folder on the server.
    3. Navigate to Add-ons in your EE control panel and install the add-on. That’s it!

  • Usage

    Implement using the tag pair:

    {exp:hop_aws_products:search}

    You’ll get output that you can use to create links like the ones to these items…

  • Examples

    {exp:hop_aws_products:search
        keyword="PHP"
    }
        {if no_results}No results at the moment{/if}
        <h2>{count}: {ItemInfo:Title:DisplayValue} ({ASIN})</h2> 
        <h3>Contributors/Authors: <br/><small>{ItemInfo:ByLineInfo:Contributors}{Name}<br/>{/ItemInfo:ByLineInfo:Contributors} </small></h3>
    
        {BrowseNodes}
            {Ancestors}<br>
        {/BrowseNodes}
    
        {if Images:Primary:Large:URL}
            <h4>Primary Image:</h4>
            <img src="{Images:Primary:Large:URL}">
        {if:else}
            <h4>No primary image</h4>
        {/if}
    
        {Offers:Summaries}
            <p>{Condition:Value}: {LowestPrice:DisplayAmount} {LowestPrice:Currency}</p>
        {/Offers:Summaries}
    
        {Images:Variants}
            {if no_results}
                <h4>NO Variant Images</h4>
            {/if}
            {if count == 1}
                <h4>Variant Images:</h4>
            {/if}
            <div>
                <h5>Variant Image {count}</h5><br>
                <img src="{Large:URL}"><br>
            </div>
        {/Images:Variants}
    {/exp:hop_aws_products:search}
  • Parameters

    • partner_tag=”hopstudios” REQUIRED if not specified in the settings page
    • access_key=”xxxxxx” REQUIRED if not specified in the settings page
    • secret_key=”xxxxxxxxxxxxxx” REQUIRED if not specified in the settings page
    • item_id=”B000K21D4K” REQUIRED (or `keyword`). Amazon ASIN.
    • keyword=”PHP” REQUIRED (or `item_id`).
    • region=”com” DEFAULT=”COM” Amazon domain suffix. Non-US users may wish to change this. You also need to set it accordingly to your AWS account region. For instance, a UK account won’t work with the com region.
    • index=”Books” DEFAULT=”BOOKS” configures the search index.
    • limit=”5” DEFAULT=”5” Limit of results returned in multi-value result sets (maximum 10).
    • page=”1” retrieve specific results page (Amazon limits that to 10, even if there’s more pages).
    • debug=”yes” DEFAULT=”NO” Shows additional output in template debugging.
    • display_all_var=”yes” DEFAULT=NO” List all the available tags for each item.
    • delay=”2” delay the query by 2 seconds. Handy if doing multiple queries in one page (AWS can throttle the requests)
  • Tags

    Tags are subject to change, based on the Amazon API.

    For a full list of available tags please include the display_all_var parameter. display_all_var="yes"

    {ASIN}
    {BrowseNodeInfo:WebsiteSalesRank:ContextFreeName}
    {BrowseNodeInfo:WebsiteSalesRank:DisplayName}
    {BrowseNodeInfo:WebsiteSalesRank:SalesRank}
    {DetailPageURL}
    
    {Images:Primary:Large:Height}
    {Images:Primary:Large:URL}
    {Images:Primary:Large:Width}
    {Images:Primary:Medium:Height}
    {Images:Primary:Medium:URL}
    {Images:Primary:Medium:Width}
    {Images:Primary:Small:Height}
    {Images:Primary:Small:URL}
    {Images:Primary:Small:Width}
    
    {ItemInfo:ByLineInfo:Brand:DisplayValue}
    {ItemInfo:ByLineInfo:Brand:Label}
    {ItemInfo:ByLineInfo:Brand:Locale}
    {ItemInfo:ByLineInfo:Manufacturer:DisplayValue}
    {ItemInfo:ByLineInfo:Manufacturer:Label}
    {ItemInfo:ByLineInfo:Manufacturer:Locale}
    {ItemInfo:Classifications:Binding:DisplayValue}
    {ItemInfo:Classifications:Binding:Label}
    {ItemInfo:Classifications:Binding:Locale}
    {ItemInfo:Classifications:ProductGroup:DisplayValue}
    {ItemInfo:Classifications:ProductGroup:Label}
    {ItemInfo:Classifications:ProductGroup:Locale}
    {ItemInfo:ContentInfo:Edition:DisplayValue}
    {ItemInfo:ContentInfo:Edition:Label}
    {ItemInfo:ContentInfo:Edition:Locale}
    {ItemInfo:ContentInfo:Languages:Label}
    {ItemInfo:ContentInfo:Languages:Locale}
    {ItemInfo:ContentInfo:PagesCount:DisplayValue}
    {ItemInfo:ContentInfo:PagesCount:Label}
    {ItemInfo:ContentInfo:PagesCount:Locale}
    {ItemInfo:ContentInfo:PublicationDate:DisplayValue}
    {ItemInfo:ContentInfo:PublicationDate:Label}
    {ItemInfo:ContentInfo:PublicationDate:Locale}
    {ItemInfo:ExternalIds:EANs:Label}
    {ItemInfo:ExternalIds:EANs:Locale}
    {ItemInfo:ExternalIds:ISBNs:Label}
    {ItemInfo:ExternalIds:ISBNs:Locale}
    {ItemInfo:ManufactureInfo:ItemPartNumber:DisplayValue}
    {ItemInfo:ManufactureInfo:ItemPartNumber:Label}
    {ItemInfo:ManufactureInfo:ItemPartNumber:Locale}
    {ItemInfo:ProductInfo:ItemDimensions:Height:DisplayValue}
    {ItemInfo:ProductInfo:ItemDimensions:Height:Label}
    {ItemInfo:ProductInfo:ItemDimensions:Height:Locale}
    {ItemInfo:ProductInfo:ItemDimensions:Height:Unit}
    {ItemInfo:ProductInfo:ItemDimensions:Length:DisplayValue}
    {ItemInfo:ProductInfo:ItemDimensions:Length:Label}
    {ItemInfo:ProductInfo:ItemDimensions:Length:Locale}
    {ItemInfo:ProductInfo:ItemDimensions:Length:Unit}
    {ItemInfo:ProductInfo:ItemDimensions:Weight:DisplayValue}
    {ItemInfo:ProductInfo:ItemDimensions:Weight:Label}
    {ItemInfo:ProductInfo:ItemDimensions:Weight:Locale}
    {ItemInfo:ProductInfo:ItemDimensions:Weight:Unit}
    {ItemInfo:ProductInfo:ItemDimensions:Width:DisplayValue}
    {ItemInfo:ProductInfo:ItemDimensions:Width:Label}
    {ItemInfo:ProductInfo:ItemDimensions:Width:Locale}
    {ItemInfo:ProductInfo:ItemDimensions:Width:Unit}
    {ItemInfo:ProductInfo:ReleaseDate:DisplayValue}
    {ItemInfo:ProductInfo:ReleaseDate:Label}
    {ItemInfo:ProductInfo:ReleaseDate:Locale}
    {ItemInfo:ProductInfo:UnitCount:DisplayValue}
    {ItemInfo:ProductInfo:UnitCount:Label}
    {ItemInfo:ProductInfo:UnitCount:Locale}
    {ItemInfo:TechnicalInfo:Formats:Label}
    {ItemInfo:TechnicalInfo:Formats:Locale}
    {ItemInfo:Title:DisplayValue}
    {ItemInfo:Title:Label}
    {ItemInfo:Title:Locale}
  • Tag Pairs

    {BrowseNodes}
        {Ancestors}
        {BrowseNode}
        {SalesRank}
    {/BrowseNodes}
    
    {Images:Variants}
        {count}
        {total_results}
        {Large:Height}
        {Large:URL}
        {Large:Width}
        {Medium:Height}
        {Medium:URL}
        {Medium:Width}
        {Small:Height}
        {Small:URL}
        {Small:Width}
    {/Images:Variants}
    
    {ItemInfo:ByLineInfo:Contributors}
        {count}
        {total_results}
        {Locale}
        {Name}
        {Role}
        {RoleType}
    {/ItemInfo:ByLineInfo:Contributors}
    
    {ItemInfo:ContentInfo:Languages:DisplayValues}
        {count}
        {total_results}
        {DisplayValue}
        {Type}
    {/ItemInfo:ContentInfo:Languages:DisplayValues}
    
    {ItemInfo:ContentInfo:Languages:DisplayValues}
        {count}
        {total_results}
        {DisplayValue}
        {Type}
    {/ItemInfo:ContentInfo:Languages:DisplayValues}
    
    {ItemInfo:ExternalIds:EANs:DisplayValues}
        {count}
        {total_results}
        {value}
    {/ItemInfo:ExternalIds:EANs:DisplayValues}
    
    {ItemInfo:ExternalIds:ISBNs:DisplayValues}
        {count}
        {total_results}
        {value}
    {/ItemInfo:ExternalIds:ISBNs:DisplayValues}
    
    {ItemInfo:ExternalIds:UPCs:DisplayValues}
        {count}
        {total_results}
        {value}
    {/ItemInfo:ExternalIds:UPCs:DisplayValues}
    
    {ItemInfo:TechnicalInfo:Formats:DisplayValues}
        {count}
        {total_results}
        {value}
    {/ItemInfo:TechnicalInfo:Formats:DisplayValues}
    
    {Offers:Listings}
        {count}
        {total_results}
        {Availability:Message}
        {Availability:MinOrderQuantity}
        {Availability:Type}
        {Condition:SubCondition:Value}
        {Condition:Value}
        {DeliveryInfo:IsAmazonFulfilled}
        {DeliveryInfo:IsFreeShippingEligible}
        {DeliveryInfo:IsPrimeEligible}
        {Id}
        {IsBuyBoxWinner}
        {MerchantInfo:FeedbackCount}
        {MerchantInfo:FeedbackRating}
        {MerchantInfo:Id}
        {MerchantInfo:Name}
        {Price:Amount}
        {Price:Currency}
        {Price:DisplayAmount}
        {Price:Savings:Amount}
        {Price:Savings:Currency}
        {Price:Savings:DisplayAmount}
        {Price:Savings:Percentage}
        {ProgramEligibility:IsPrimeExclusive}
        {ProgramEligibility:IsPrimePantry}
        {SavingBasis:Amount}
        {SavingBasis:Currency}
        {SavingBasis:DisplayAmount}
        {ViolatesMAP}
    {/Offers:Listings}
    
    {Offers:Summaries}
        {count}
        {total_results}
        {Condition:Value}
        {HighestPrice:Amount}
        {HighestPrice:Currency}
        {HighestPrice:DisplayAmount}
        {LowestPrice:Amount}
        {LowestPrice:Currency}
        {LowestPrice:DisplayAmount}
        {OfferCount}
    {/Offers:Summaries}
  • EE2 Code Examples

    The EE2 version uses slightly different tags. Here’s a basic set of examples.

    These will NOT work for the current EE3 version.

    Example 1

    {exp:aws_products:search limit="20" region="com" debug="no" associate_id="hopstudios" public_key="use_your_own" private_key="use_your_own"}
    {define_keywords}blogging for dummies gardner{/define_keywords}
     {if aws_total_results > 0}total results: {aws_total_results}<br />{/if}
     {if aws_count > 0}count: {aws_count}<br />{/if}
     {if amz_asin}amz_asin: {amz_asin}<br />{/if}
     {if amazon_link}amazon_link: <a href="{amazon_link}">{amazon_link}</a><br />{/if}
     {if product_name}product_name: {product_name}<br />{/if}
     {if release_date}release_date: {release_date}<br />{/if}
     {if catalog_type}catalog_type: {catalog_type}<br />{/if}
     {if manufacturer}manufacturer: {manufacturer}<br />{/if}
     {if publisher}publisher: {publisher}<br />{/if}
     {if sales_rank}sales_rank: {sales_rank}<br />{/if}
     {if number_of_pages}number_of_pages: {number_of_pages}<br />{/if}
     {if best_price}best_price: {best_price}<br />{/if}
     {if list_price}list_price: {list_price}<br />{/if}
     {if amz_authors}amz_authors: {amz_authors}<br />{/if}
     {if img_small}img_small: <img src="{img_small}" /><br />{/if}
     {if img_medium}img_medium: <img src="{img_medium}" /><br />{/if}
     {if img_large}img_large: <img src="{img_large}" /><br />{/if}
     {if img_small_width}img_small_width: {img_small_width}<br />{/if}
     {if img_medium_width}img_medium_width: {img_medium_width}<br />{/if}
     {if img_large_width}img_large_width: {img_large_width}<br />{/if}
     {if img_small_height}img_small_height: {img_small_height}<br />{/if}
     {if img_medium_height}img_medium_height: {img_medium_height}<br />{/if}
     {if img_large_height}img_large_height: {img_large_height}<br />{/if}
    {/exp:aws_products:search}

    Example 2

    {exp:aws_products:search item_id="0470230177" associate_id="hopstudios" public_key="use_your_own" private_key="use_your_own"}
    Great news! {product_name} only costs ${best_price} today.
    {/exp:aws_products:search}

    Parameters

    • associate_id=”hopstudios” configures an associate ID for Amazon’s affiliate program (default: “hopstudios”).
    • region=”com” sets the domain suffix, i.e. which Amazon store (default: “com”). Non-US users may wish to change this.
    • index=”Books” configures the search index (default: “Books”).
    • limit=”5” sets the limit of results returned in multi-value result sets (default: “5”).
    • debug=”yes” puts some additional output in template debugging (default: “no”).

    REQUIRED

    • public_key = your “Access Key ID”
    • private_key = your “Secret Access Key”

    REQUIRED UNLESS USING KEYWORDS TAG PAIR

    • item_id=”B000K21D4K” is an Amazon ASIN.

    Tag Pairs

    {define_keywords}search for this, and this{/define_keywords}

    allows you to search for keywords. This is required, unless you use the item_id parameter. It doesn’t matter where you place this variable pair, but it must be defined inside the tags. If you are going to use a custom field for your keywords, also be sure that it has formatting set to NONE in your publish preferences.

    If you’re displaying an image, it’s good practice to check that its width or height are greater than 1, since Amazon may return a blank 1x1 image if none exists.

    {if img_small_width > 5}<img src="{img_small}" alt="{product_name}" />{/if}
  • Updating

    Updating is easy:

    1. Download a new version from this website, and extract on your hard drive.
    2. Upload the new files to their appropriate locations.

  • Uninstalling

    1. Navigate to the Add-Ons > Modules tab in your EE control panel and uninstall the module.
    2. Remove the add-on directory from your EE system folder on the server.

  • Version History

    Last updated: 2 years ago

    6.0.1 - 2021-06-16

    Updated

    • Documentation

    Fixed

    • Template parser

    6.0.0 - 2021-04-29

    Updated

    • Hello EE6
    • Enhanced template parse() functions
    • API parameters

    Changed

    • Variables (please check the documentation and try it out on a staging site if you are upgrading from an older version)
    • associate_id to partner_tag
    • public_key to access_key
    • private_key to secret_key

    Added

    • Config page
    • Hop License
    • {count} and {total}
    • Caching retrieved products

    5.1.0 - 2020-06-23

    • Short if conditions
    • Documentation updates

    5.0.0 - 2020-04-22

    • Uses the new API

    4.1.1 - 2017-12-11

    • Add a delay parameter

    4.1.0 - 2016-11-02

    • Add a fix for items having multiple authors
    • Add feature to display all available tags
    • Add a page parameter
    • Updated for EE 3

    4.0.0 - 2016-08-18

    • Major changes to tag names to more closely adhere to Amazon’s attribute names
    • Many more attributes available to use &mdash all that Amazon provides, in fact, and it updates as Amazon does.

    3.1.1 - 2015-04-28

    • 2015/04/28
    • Fix encoding issue
    • Fix bug when a template tag doesn’t exist

    3.1.0 - 2011-04-23

    • 2011/04/23 (Travis Smith, Hop Studios):
    • Added error message for missing keys
    • Added .at and .es and .it stores
    • Changed the AWS server it talks to
    • Fixed a bug in “define_keywords”

    3.0.0 - 2011-04-24

    • 4/24/2011
    • First version for EE 2.x
    • Added several more fields
    • Fixed an error when multiple authors were available for a book
    • Includes version 2.0.0 for EE 1.x

    2.0.0 - 2010-01-29

    • 1/29/2010 (Justin Crawford, Hop Studios):
    • Added aws_signed_request function to accommodate the new signed URL requirements on AWS
    • Made major changes to code formatting
    • Made minor changes to logic/data structures
    • Edited comments for brevity/clarity
    • Changed parameters/variable names for consistency with current EE convention
    • Added an item_id parameter for single-item lookups
    • Added a public_key and private_key parameter for signed URLs
    • Revised conditional handling

    1.0.0 - 2004-10-15

    • First Version based on Lynda’s Amazon Api Plugin (Christian Leu, http://leumund.ch/)

Have a Project for Us?

Request a Proposal