44
XTDir Promoted Entries for SobiPro Building an advertising catalog for Joomla! Presentation based on Joomla 3, SobiPro 1.1 and XTDir 5.6 2015-04-14

Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

XTDir Promoted Entries for SobiProBuilding an advertising catalog for Joomla!

Presentation based on Joomla 3, SobiPro 1.1 and XTDir 5.6

2015-04-14

Page 2: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

In this presentation, we are going to show how you can build an advertising catalog with SobiPro directory and XTDir Promoted Entries solution.

http://www.extly.com/xtdir-building-an-advertising-catalog-for-joomla.html

More Tutorialshttp://www.extly.com/docs/xtdir_for_sobipro/index.html#tutorials

Extensiont Page: http://www.extly.com/xtsobipro.htmlSupport: http://support.extly.com

XTDir Promoted Entries forSobiPro

Page 3: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Prerequisites

● XTDir Promoted Entries 5.6, or superior● SobiPro 1.1, or superior (recommended)● Joomla 3, or superior● MySQL 5.5, or superior (recommended)● PHP 5.3, or superior

Prerequisites

Page 4: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Download and install XTDir Promoted Entries for SobiPro

Installation

Page 5: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

1. XTDir updates are installed in the same way

2. Remember to also update SobiPro Apps with the Update button.

Updates

● "Update" buttons in Promoted Entries/Configuration for Promoted Order App or Promo-Information Field

● "Update" button in Configuration/Core Index for Router App

Page 6: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Control Panel - Core Index GenerationThe Core Index is the information structure required to control:

● Promoted Entries● Search Queries● Entries Explorer● Statistics

There are three ways to generate the Core Index:

1. Manually2. Cronjob (recommended)3. On Page Load

Step 0

● To change it, please, check the following Core Index of SobiPro Entries slide, in XTDir - How to extend your directory tutorial.

● Please, remember to enter your Download ID to enable web live updates. For more information, click here.

Page 7: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

You can just click in the button to generate the Index for the first time.

● It is in the default “manual” mode.● You choose when the index is generated● By default, restricted to 1000 entries.

Step 0Manual Core Index Generation

TIP: You can click on Update Index at any time. It can be found in Configuration/Core Index of SobiPro Entries configuration.

Page 8: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Manual Core Index GenerationThe Core Index has been successfully generated!

You can check Statistics, Index information, Promoted Entries, and Cache Information in the Control Panel.

Step 0

Page 9: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

The Entries Explorer is the main tool to manage entries.

● Navigational access to entries

● Links to the SobiPro Entry Edition and Public Entry.

● Section and Category filters

● Entry State, Approval, and Promotion Status

● Ordering management to control Promoted Entries

Entries Explorer

Page 10: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

In SobiPro, there are 3 cases to promote entries:

● Search Case: Results from a search query

● Section / Category Navigation Case: Entries shown browsing a Section or a Category

● Alpha Listing Case, visiting a Letter of the Alpha menu

Cases

XTDir allows to promote entries in each of these cases, according to different Promotions.

Page 11: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

In SobiPro, there are 3 cases to promote entries:

● Search Case: Results from a search query

● Section / Category Navigation Case: Entries shown browsing a Section or a Category

● Alpha Listing Case, visiting a Letter of the Alpha menu

Cases

XTDir allows to promote entries in each of these cases, according to different Promotions.

Page 12: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

In SobiPro, there are 3 cases to promote entries:

● Search Case: Results from a search query

● Section / Category Navigation Case: Entries shown browsing a Section or a Category

● Alpha Listing Case, visiting a Letter of the Alpha menu

Cases

XTDir allows to promote entries in each of these cases, according to different Promotions.

Page 13: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

● The Ordering defines the order of the entries shown and it's determined according Promotions.

● Promotions can have a section or category scope; and there are three types of promotions:

○ Manual Promotion, you can define a default value for these entries. E.g. order number 888. You can also manually assign an ordering to specific entries. E.g Neo Electronics, order number 7.

○ Dynamic Promotion, the ordering is assigned to entries that have a specific value in a field. E.g. field_premium=option_premium.

○ Paid Promotion, integrated with SobiPro Paid Fields, you can configure Paypal Notifications (IPN) to receive the payment event and activate the entry with a specific ordering. E.g. Neo Electronics paid for a logo, order number 555; the entry is marked as paid promoted.

○ User Group Promotions: Check the new tutorial: XTDir - SobiPro and PayPlans Membership Management

How it works

Page 14: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

How it works

About Manual Promotions: It is mandatory to have a default manual promotion at section-level to define a baseline ordering.

Page 15: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

● How it works: You configure Promotions, or manually assign an ordering to each entry. When the Core Index is generated by the XTDir component, each entry ordering is calculated and assigned (by default, each entry is assigned with ordering 888888). The Promoted Order App is installed and activated in each SobiPro section. It works on events associated with Search, Categories Navigation, and Alpha Listing to change the results default order according to the Promotions definition. Also, the SobiPro Entries Position is updated according the Promotions definitions.

● Multi-armed bandit Algorithm: Promoted entries can be sorted by Multi-armed bandit (Top 10% Random, 90% ordered by Hits). The rest of entries are shown in random order. The same algorithm used by Google Adwords.

How it works - Promoted Order App

Page 16: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

● How it works: each promotion define an ordering "main order" for entry position. You can also define a Second Order by, in "Promoted Entries Configuration", to add a "sub-order" the entry position. E.g. name

How it works - Promoted Order App

Page 17: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

● How it works: XTDir redefines entries Position, according to the defined Promotions, SobiPro sections must be ordered by Position.

How it works - SobiPro Configuration

● NOTE about Sizing: SobiPro allows 999999 positions. If you use 4-digits, e.g. 9999, to define Promotions, your catalog can have up to 100 entries. To be safe, you can define Promotions with 2 or 3 digits, e.g. 44 or 777, to have up to 1,000 or 10,000 entries.

Page 18: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

● Promo-Information Field, it provides a new read-only field to customize the entry visualization.

For example, in the common/vcard.xsl a class can be added to customize the visual output according the promotype_id (sEction or Category), tiertype_id (Manual, Dynamic, Paid), and ordering:

<xsl:attribute name="class">promoted_<xsl:value-of select="fields/field_promoinformation/data/promotype_id" /> promoted_<xsl:value-of select="fields/field_promoinformation/data/tiertype_id" />promoted_<xsl:value-of select="fields/field_promoinformation/data/ordering"/> </xsl:attribute>

The field also provides access to other information like: ordering, hits counter, promoentry_id (assigned manual entry Id), and promoorder_id (paid order number). E.g. promoted_E promoted_M promoted_8888. To add a CSS background: #SobiPro .promoted_M { background-color: #FFFF88; }

How it works - Promo-Information Field

Page 19: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

● Promo-Information Field, it provides a new read-only field to customize the entry visualization.

For example, in the entry/details.xsl a class can be added to customize the visual output according the promotype_id (sEction or Category), tiertype_id (Manual, Dynamic, Paid), and ordering:

<xsl:attribute name="class">SPDetailspromoted_<xsl:value-of select="entry/fields/field_promoinformation/data/promotype_id" /> promoted_<xsl:value-of select="entry/fields/field_promoinformation/data/tiertype_id" />promoted_<xsl:value-of select="entry/fields/field_promoinformation/data/ordering"/> </xsl:attribute>

The field also provides access to other information like: ordering, hits counter, promoentry_id (assigned manual entry Id), and promoorder_id (paid order number). E.g. promoted_E promoted_M promoted_8888. To add a CSS background color: #SobiPro .promoted_8888 { background-color: #FFFF88; }

How it works - Promo-Information Field

Page 20: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

● To give you a real-world example, in our demo site, we have this template generation. For example, in the entry/vcard.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl"><xsl:import href="review.xsl" /><xsl:output method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" encoding="UTF-8"/> <xsl:template name="vcard">

<xsl:attribute name="class">span6 xtd-vcard thumbnail promoted_<xsl:value-of select="fields/field_promoinformation/data/promotype_id" /> promoted_<xsl:value-of select="fields/field_promoinformation/data/tiertype_id" /> promoted_<xsl:value-of select="fields/field_promoinformation/data/ordering" /></xsl:attribute>

<span class="lead">….

How it works - Promo-Information Field

Please, be aware that our demo site also has SP Reviews installed and the promoinformation field is named "field_promoinformation".

Page 21: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

● To give you a real-world example, in our demo site, we have this template generation. For example, in the entry/details.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl"> <xsl:output method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" encoding="UTF-8" />

<xsl:include href="../common/topmenu.xsl" /> <xsl:include href="../common/manage.xsl" /> <xsl:include href="../common/review.xsl" /> <xsl:include href="../common/alphamenu.xsl" /> <xsl:include href="../common/messages.xsl" />

<xsl:template match="/entry_details"> <div class="SPDetails">

<xsl:attribute name="class">SPDetails promoted_<xsl:value-of select="entry/fields/field_promoinformation/data/promotype_id" /> promoted_<xsl:value-of select="entry/fields/field_promoinformation/data/tiertype_id" /> promoted_<xsl:value-of select="entry/fields/field_promoinformation/data/ordering"/></xsl:attribute>

<div> <xsl:call-template name="topMenu">….

How it works - Promo-Information Field

Please, be aware that our demo site also has SP Reviews installed and the promoinformation field is named "field_promoinformation".

Page 22: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

● Advanced configuration, beyond simple styling, you can code more complex templating.

For example, in the common/vcard.xsl: Showing the link to entry details only for Paid (P) entries and the administrator UserId (42).

<xsl:variable name="user_id"> <xsl:value-of select="php:function( 'SobiPro::My', 'id' )" /></xsl:variable>

<xsl:if test="fields/field_promoinformation/data/tiertype_id = 'P' or $user_id = 42"> <span class="lead"> <a href="{url}"> <xsl:value-of select="name" /> </a> </span></xsl:if>

<xsl:if test="fields/field_promoinformation/data/tiertype_id != 'P' and $user_id != 42"> <span class="lead"> <xsl:value-of select="name" /> </span></xsl:if>

How it works - Promo-Information Field

Page 23: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Even though, Promo-information field is a read-only field to show Promotion specific information, it is also possible to include it in the edition view.

In this way, the usual promotion classes are automatically assigned to the SobiPro edition area.

Promo-Information Field - Edition

Page 24: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Promo-Validation Field - Edition

Promo-Validation field is read-only field introduced to validate Entries, even before they are added into the catalog.

For instance, if the user has already added entries for the assigned Promotions, then Promo-Validation field do not allow to add new entries.

In addition, it is possible to enforce unique entry names.

Page 25: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Promo-Validation Field - Edition

Page 26: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

To build a catalog of promoted geolocated entries, a Promo-GeoMap Field must be configured and installed.

This type of field is similar to SP GeoMap field, but it shows search results ordered by priority and location.

1. Entries are shown by priority and location.

2. If some entries do not have coordinates, they are shown after the the geolocated entries.

How it worksPromo-GeoMap Field

Page 27: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

To build a catalog of promoted geolocated entries, a Promo-GeoMap Field must be configured and installed.

Configuration is similar to SP GeoMap field,options are straightforward. The field is integrated with XTDir Promoted entries to internally managed priorities.

How it worksPromo-GeoMap Field

Page 28: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

● Promotions can have a section or category scope.

● Default Promotion, each entry has assigned the order number 8888.

● Manual Promotion: You can manually change the ordering to specific entries. E.g morris.biz, order number 1 (check next slide).

Manual Promotions

Page 29: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Step 1: Clik to toggle the manual promotion of a specific entry

Step 2: Manually change the ordering to a specific entry

Manual Promotions

Page 30: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Step 3: Save order

Step 4: Order the entries to check applied promotions

Manual Promotions

Page 31: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

● Promotions can have a section or category scope.● Dynamic Promotion, the ordering is assigned to entries that have a specific

value in a field. E.g. a radio field field_premium with values option-premium or option-lite.

Dynamic Promotions

Page 32: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Step 1: Go to Promotions and create a new Promotion

Step 2: Fill all required fields.

Dynamic Promotions

1

2

1 - Assign a different ordering (8888 by default)

2- SobiPro fields, filled when entry is created

Page 33: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

SobiPro does already support paid fields: ● After user creates an entry, SobiPro redirects to Paypal

for payment. ● The missing link: “SobiPro does not receive the payment

confirmation and change the entry status.”● XTDir provides this feature, based on Paypal Instant

Payment Notification.

To configure IPN, please, check the following Promoted Entries IPN Entries chapter.

Paid Promotions

SobiPro TIP: How to charge for the whole entry

Page 34: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

● Promotions can have a section or category scope.

● Paid Promotion, integrated with SobiPro Paid Fields,

● You can configure Paypal Notifications (IPN) to receive the payment event and activate the entry with a specific ordering. E.g. Restaurant Biotopia paid for a logo, order number 555; the entry is marked as paid promoted.

Paid Promotions

Page 35: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Step 1: Go to Promotions and create a new Promotion

Step 2: Complete all the required fields.

Paid Promotions

1 - Assign a different ordering (8888 by default)1

Page 36: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Step 3: Configure Instant Payment Notifications

Paid Promotions

● The configuration provides the Url to configure Paypal IPN.

● It provides a way to change the Entry State and Approval when a payment is notified.

● It can also send a mail notification.

● The sandbox mode is supported to test the interface.

Page 37: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Payments are received from Paypal Instant Payment Notification (IPN).

● When a Payment is received, the associated Paid Promotion is enabled

● The entry is promoted according the Paid Promotion definition

Paid Promotions

Page 38: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Step 4: Order the entries to check promotions

Paid Promotions

Page 40: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Entries are mostly browsed in SobiPro component context. However, to feature promoted entries, XTDir provides several “widget” modules for entries:

● Promoted Entries module● Accordion Entries module (Bootstrap

Vertical and Horizontal Layout)● Grid of Entries module

Based on: Sigsiu’s Entries Module for SobiPro.

Widgets For Entries

Page 41: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Entries are mostly browsed in SobiPro component context. However, to feature promoted entries, XTDir provides several “widget” modules for entries:

● Promoted Entries module● Accordion Entries module (Bootstrap

Vertical and Horizontal Layout)● Grid of Entries module

Based on: Sigsiu’s Entries Module for SobiPro.

Widgets For Entries

Page 42: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Entries are mostly browsed in SobiPro component context. However, to feature promoted entries, XTDir provides several “widget” modules for entries:

● Promoted Entries module● Accordion Entries module (Bootstrap

Vertical and Horizontal Layout)● Grid of Entries module

Based on: Sigsiu’s Entries Module for SobiPro.

Widgets For Entries

Page 43: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

Widgets modules share a similar configuration.

1. Select section

2. Select module template

It can be any of the packaged templates, or you can create your own (directory components/com_sobipro/usr/templates/front/modules). Templates follow SobiPro XSLT practices.

3. Select order field

You can select the PromoInformation field.

Widgets For Entries - Config

Page 44: Entries for SobiPro XTDir Promoted - Extly - Building an...Search Case: Results from a search query Section / Category Navigation Case: Entries shown browsing a Section or a Category

One last word

We love your feedback, it's our way to improve.

This presentation was created with your help.

Please post a rating and a review at the #JEDIt really helps ;-)

More Tutorialshttp://www.extly.com/docs/xtdir_for_sobipro/index.html#tutorials

Extensiont Page: http://www.extly.com/xtsobipro.htmlSupport: http://support.extly.com

Twitter @extlyFacebook facebook.com/extly