Frequently asked questions

XTDir Business Pages is our extension to integrate SobiPro and EasySocial / JomSocial to support the "Pages" functionality and it is certainly inspired by Facebook Pages.

Please, take into account that Facebook implements an advanced account model and it is tighly associated with their permission model. For instance, a page is not a real account, and managers can publish posts associated with the page "virtual account". Joomla does not have this extended account management model and information is always linked with the owner in SobiPro and EasySocial / JomSocial.

Please, check this tutorial to review how it can be configured and navigate our demo site to check how it shows the information:

There are several ways to hide fields conditionally according to the assigned entry promotion.

Firstly, a style class can be assigned to customize the entry styling. For example, in a section with a promo information field named field_promoinformation, in SobiPro common/vcard.xsl:

<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>

Secondly, vcard template can also be customized to hide information based on field_promoinformation. For example, to show a linked entry name only for payed promotions or user 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>

Finally, for more information, please review this tutorial: XTDir Promoted Entries - Building an advertising catalog for Joomla!

Q: How to implement "Second Order By" concept?

A: Promoted Entries extension works managing the Position of SobiPro Entries. Thus, in a section, entries must be always ordered by Position. By default, Promoted Entries assumes entry name as second order, to show entries ordered by alphabetically within a Promotion. However, in some cases, other second orders are required. For example, newest entries first (within a Promotion).

Please, configure your section ordering in "Section Configuration" / "General Configuration" / "Template" / "Entry Settings" / "Order by" to define Position ascending.

These settings are deprecated and will be removed in the next major version of SobiPro!

In SobiPro 1.2, please, configure your section ordering in "Section Template" / "Template Settings" / "View Settings" / "Category View" or "List View" / "Entries ordering" to define Position ascending.

Q: How can PayPal Payments be simulated to test Paid Promotions?

A: You have to use Paypal's IPN Simulator:

  1. Access https://developer.paypal.com/webapps/developer/applications/ipn_simulator
  2. Fill IPN handler URL, with the Url shown in XTDir's Instant payment notification
  3. Select Transaction type: Web Accept
  4. Assign your "Sandbox merchant" email to business, receiver_email and receiver_id fields
  5. Assign item_number with an entry ID
  6. Click on Send IPN button

Q: Is it possible to hide the link to details view based on promotions level? For instance, I have 3 promotion levels: Bronze, Silver and Gold. If a member purchases bronze, then there is no vcard link to the details page.

A: Yes, it is possible. At vcard.xsl, in the same way than you show the usual styling classes, the same field information can be used to conditionally show the link to the details page.

<xsl:if test="fields/field_promoinformation/data/ordering = 10">...</xsl:if>

Q: How to Make XTDir Promo-Geomap Field for Sobipro Field Responsive?

A: Google Maps works based on fixed width and height. It renders the map from Google servers according to the output size. In spite of how Google Maps works, there are some workarounds to adjust Html elements in a Page based on CSS Styling.

To fix it, we have just implemented this method: How to Make Google Maps Embeds Responsive

.spPromoGeoMap {
    position: relative;
    padding-bottom: 75%; // This is the aspect ratio
    height: 0;
    overflow: hidden;
}

.spPromoGeoMap .ctrl-geomap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;    
}

Example: http://demo.xtdir.com/business-pages/on-jomsocial-3.html

Yes. It is possible. A Javascript routine in your page can check the module context (e.g. site url) and, following pre-defined rules, force a default category in the module.

In our code, we have a callback for these cases: postRequireHook to add custom hooks. Then, you can customize your page, calling your routines in this way:

window.postRequireHook = function(){....};

In our demo site, we have implemented geo search with our XTDir PromoGeoMap field. It is similar to SP GeoMap field, but extended with additional features.

To test it, you can disable your section SP GeoMap field, install and enable XTDir PromoGeoMap field.

By default, all XTDir search modules produce the same search results than SobiPro.

On the other hand, if you want to return a default search query, you can enter '*' or a specific search keyword in module configuration: Search Options/ Default Search Value.

SobiPro's Search order is configured in Section configuration / Template / Second Entries Ordering. These are the available values:

  • Disabled
  • Random
  • Least popular first
  • Most popular first
  • Oldest first
  • Newest first
  • Least recently modified first
  • Recently modified first
  • Expires next first
  • Expires next last

SobiPro does not support order by field in search.

Given this limitation, in XTDir for SobiPro, to implement Promoted Entries, we have developed a method to order entries and search results by Promotion+Field (Second Order By): https://docs.google.com/a/extly.com/presentation/d/1YqDxRFUunNTEiUaQHCenpcabZhQ-Ierh9BkHMmU8uI8/edit#slide=id.g18239f4b2_10

In the field configuration, there is a "Starting Point" where you can fill the latitude and longitude. To find out the coordinates, you can just search for the address in Google Maps, in the generated Url, it is encoded after @.

For example, Oviedo Asturias

https://www.google.com.ar/maps/place/Oviedo,+Asturias,+Spain/@43.3694868,-5.8486578,14z/data=!3m1!4b1!4m2!3m1!1s0xd368c9a60ac1c67:0x3134440ecc5e6224?hl=en

Starting Point: 43.3694868,-5.8486578

Q: I wish to remove a lot of the fields in the grid of entries template. How can it be done?

A: The default module layout shows the same fields detailed in SobiPro vCard. If you want to create a new module layout, you can just create a new one to define the specific fields.

The module default.xsl layout can be found in components/com_sobipro/usr/templates/front/modules/mod_xtd_gridentries.

SobiPro results are not shown in an independent menu item. Thus, when a module is assigned to SobiPro, it is assigned to all component Urls.

If you want to assign modules to specific SobiPro Urls, there is no way to implement this in a pure Joomla! - SobiPro installation. However, a module manager like NoNumber's Advanced Module Manager can be implemented to assign modules by Url pattern.

To shown a module only in certain pages, beyond created menu items, it has to be assigned according extended conditions.

We recommend to install an extension, like NoNumber's Advanced Module Manager, to assign modules according to several conditions.

For example, EasySocial does not have a specific menu item for a user profile to assign a module. In this case, Joomla does not have a core-level solution to assign a module to an Url. In your demo site, the module is assigned to these URL matches with NoNumber's Advanced Module Manager:

  • option=com_easysocial&view=profile&id=
  • communities/easysocial/profile

There are several ways to implement this. XTDir Extended Search Module shows the full search form. Any restriction to shown only two fields can work.

  • Firstly, search module shows SobiPro search fields. You can simply access Section configuration and disable search fields. To configure a SobiPro section search field, you have to visit the section (e.g. Business Directory): Section Configuration / Fields Manager, and choose which field to add/remove from search. For instance, in field_email, Search Field Settings / Searchable = Yes / No.
  • On browser side, you can hide the rest of the fields with CSS styling or javascript.
  • On server side, you can create a new layout override an shown only the required fields.

XTDir GeoMap Search or XTDir Search in Categories modules follow this latest approach to only shown the main search box and the associated field.

One of the greatest Joomla! features is the ability to override any view in the front-end or back-end site to allow customization. In this way, you can change a componet or module output. You can add/edit the view template, and create a new view override.

For instance, in XTDir modules, new fields can be shown.

Reference: Understanding Output Overrides

Please, access XTDir component, "Joomla Search for SobiPro" menu item, and change the "Title" field.

XTDir Promogeomap field is fully compatible with SobiPro Geomap field. In fact, it works on the same field table. Then, information can be imported or exported with 'sample' geomap field, later disable it and finally enable Promogeomap field.

We are distributing our apps as open source packages for PhoneGap, AngularJS and Ionic framework.

Mobile apps are different than our usual Joomla! extensions. Thus, to accomodate the new packages, we are publishing a new space to distribute mobile apps packages (starters) and a new support service for mobile apps development.

http://www.joomgap.com/

Joomla general search is based on global text search. XTDir Search Plugin+ (Plus) for SobiPro is the integration plugin to support this feature.

Joomla Smart search is based on text search, with extended full text search features. XTDir Smart Reach for SobiPro is the integration plugin to support this feature. Smart search is certainly more complex, oriented to support big static content sites (indexation takes time, but search is very light).

Joomla general search and Smart search allow to search for articles and SobiPro entries. User simply enters search keywords and results, matching by text, return articles and SobiPro entries. Both Joomla search methods work in the same way. In most cases, we recommend the ubiquitous Joomla general search method.

Finally, SobiPro search supports text and radius search (by latitude and longitude). According to the defined fields, SobiPro search returns entries matching by text or geo search. XTDir-SobiPro Search Modules provide several ways to submit queries to SobiPro search engine. SobiPro search results are shown in customizable entry cards. On the other hand, Joomla General and Smart Search simply show a list ot results, each one with a title, description and category.

Q: I need to change "Search Keywords", how can I do it? How a label or a message can be translated or modified?

Most labels and texts are defined in SobiPro section configuration, SobiPro or XTDir translations.

The simplest way to redefine a text is in the Language Manager:

  1. Access Extensions / Language Manager / Overrides
  2. Create New override
  3. On the right side, search for the text you need to change. If you already know the Language Constant, proceed to the next step
  4. Select one of the search results, to fill Language Constant or just fill the field with the known constant
  5. If there are more than one matching Language Constant, define new values for each one of them
  6. Check the new values in the site

To change a label or a message, even if you have a single language in your site, you can access Joomla! Language Manager (Extensions / Language Manager), search for a text, and redefine it creating a new Override.

For instance, these are the default values defined for category selection labels:

COM_XTDIR_SELECT="Select"
COM_XTDIR_SELECT_CATEGORY=" - Select Category - "
COM_XTDIR_SELECT_CATEGORY_L1=" - Select Main Category - "
COM_XTDIR_SELECT_CATEGORY_L2=" - Select Category - "
COM_XTDIR_SELECT_CATEGORY_L3=" - Select Category - "
COM_XTDIR_SELECT_CATEGORY_L4=" - Select Category - "
COM_XTDIR_SELECT_CATEGORY_L5=" - Select Category - "
COM_XTDIR_SELECT_CATEGORY_L6=" - Select Category - "
COM_XTDIR_SELECT_CATEGORY_L7=" - Select Category - "
COM_XTDIR_SELECT_CATEGORY_L8=" - Select Category - "
COM_XTDIR_SELECT_CATEGORY_L9=" - Select Category - "
COM_XTDIR_SEARCHBOX_TEXT="Search..."
COM_XTDIR_SEARCHBUTTON_TEXT="Search"
COM_XTDIR_RESET_BUTTON="Reset"

You can find all of them in en-GB.com_xtdir.ini.

Additionally, with XTDir 6.5.0, we have introduced a new way to define the label for each list control: COM_XTDIR_SELECTCATEGORY{Category ID}_L{Level}, where {Category ID} is the category ID and {Level} the level of the category in the tree. For instance, these are the labels defined for the XTDir Multi-Category Extended Search for SobiPro sample page.

COM_XTDIR_SELECT_CATEGORY_2_L1="- Select Computers and Internet -"
COM_XTDIR_SELECT_CATEGORY_3_L1="- Select Games -"
COM_XTDIR_SELECT_CATEGORY_4_L1="- Select Health -"
COM_XTDIR_SELECT_CATEGORY_5_L1="- Select Home & Garden -"
COM_XTDIR_SELECT_CATEGORY_6_L1="- Select News -"
COM_XTDIR_SELECT_CATEGORY_2_L1="- Select Shopping -"

If you cannot find the label in Language Manager, you can just create a new Override to redefine it. Alternatively, if you have already created overrides, you can manually edit language/overrides/en-GB.override.ini.

A second common case is: "XTDir-SobiPro Entries" defined with PLG_SEARCH_XTDIRSOBIPRO_ITEMS.

Finally, in some cases, the output are directly generated from SobiPro, then the translation must be initially done in SobiPro. For instance:

SP.CAT.SELECT_CATEGORY_PATH="Select Category" 

Reference:

There are several ways to hide the SobiPro search area:

  1. SobiPro search form is generated in the template search/view.xsl (SPSearchForm), you can comment this block of code. This option avoids the Html generation.
  2. On browse side, you can conditionally show/hide the search form according to the page, or you can just hide it with CSS styling. For instance:

    #SPSearchForm {display:none;}

XTDir router is in Beta and it must be enabled explicitly.

  • XTDir Control Panel / Options / Advanced settings
  • Allow EXPERIMENTAL Sef Router App = YES

To install it:

  • XTDir Configuration / Core Index of SobiPro Entries / Router App 'URLs without Numbers' - EXPERIMENTAL
  • Install

To uninstall it:

  • Manually restore the original components/com_sobipro/router.php (You can find it in SobiPro zip package)

Upgrading from any XTDir module to the full XTDir for SobiPro is by no means different than installing the component. You do not have to uninstall the previous version; in fact, you MUST NOT do that. Simply follow the installation instructions to install XTDir over the existing XTDir partial installation. That's all! All your settings are preserved.

Q: Will the component on my website stop working after my membership ends?

A:

  • Usage license will never expire. You can use the software FOREVER.
  • Unlimited sites or domains.
  • During the subscription period, you can download new versions, with major features and minor fixes/enhancements, or request assistance in our ticketing system. Once the subscription is over, you can renew it, or create a new topic in the community forum.
  • You can use the software on ALL YOUR sites under the terms of GPLv3.
  • No part of our source code is encoded.

We can answer your pre-sales questions concerning to our extensions features.

You are requesting project consulting from us. A consulting task requires a consistent effort within the general project, beyond our product support scope. Information about your consulting project to integrate your catalog into your site is beyond the analysis we can do from this side.

Please, remember to keep your questions focused on what the extensions do( or do not).