Swap Factory offers an easy to use and easy to manage exchange system of the goods added by users as classified ads. It gives you, as administrator, access to many settings and features that are configurable from the backend. While the component is installed with default settings allowing your site to be up and running almost instantly, it still needs some certain settings in order to be used at its full potential.

To access most of the Swap Factory backend options go to Swap Factory's Control Panel and click on General Settings.

General Settings

Choose the desired Date and Time format for your ads. On the right side of the drop-down menu, you can see how the selected format is displayed on the front end after saving the changes. "d" stand for Day, "m" for Month and "Y" for Year. “H:i” is for a 24-hour representation of time while “h:iA” is for a 12-hour. You can allow users to edit the date of their already published ads.
Set expiration hour allows users to specify an expiration hour for ads (if disabled, the ads expire at midnight).

Enable Show Contact information to display users addresses or emails from the details page or listings.

Messaging on ads will enable a tab on every ad where users can interact with the sellers for the exchange of information regarding the items by sending messages. Enable Allow Guest messaging so that guests can also use the messaging system. This will require Messaging on ads to be enabled.

With the messaging system enabled, it is recommended that you also enable reCaptcha to protect your website against unwanted bot spam. This will require the user to enter certain letters or numbers that a computer can not read, thus preventing automated spam messages. Further configuration for reCaptcha will be needed on the Spam Protection tab.

With the Private Messaging List option enabled, messages will be visible only for the users who created them and for the ad's owner. Guest messages will be visible only for the ad's owner.

Enable the Price Field in order to display an asking price field on every ad. You can make this field mandatory by setting to "Yes" the Require Price option found below.

You can choose the Decimal symbol between a dot and a comma. This will be used before the fractional part of a number, which is written in decimal form. The unchosen symbol will be used for digital grouping.
Choose how many decimals will be displayed by setting up the Decimals number field.

The symbol of the currencies can be displayed before or after the actual prices by setting up the Currency position option.

Set a Password which will be used to safely call the CRON script.

Add the number of ads displayed on each page with the Items per page field. In case this value is exceeded, pagination will be created.

Filter includes Subcategories will display ads from subcategories along with its parent category in the category listing.

Enable the Show Countdown option in order to display how much time of availability there is left for every ad by using a Javascript countdown.

Choose the Order of the ads displayed on listings, by starting or ending date.

A useful feature offered by our component is the Enable guest posting option. Visitors will be able to post ads without being logged-in. They will just need to insert the name and an email address and then edit the ad with the key received on the entered email. In case the "Pay Per Listing" or "Pay Per Image" items are enabled, the ad will not be published.

Enable Attachment Files will allow users to attach files to their ads, while the Require Attachment option will make the files mandatory for each new ad.
In case you enabled this feature, you can define the list of Allowed Attachment extensions such as .zip, .rar, .txt, etc.

Ad Settings

New Ad posting steps allows you to choose from 2 ways in which the new ads will be created, either a one-step posting process, where all the listing information is entered on one page, or a two-step posting, that will require users to set the category first before completing the rest of the details.

Besides ACL, ads can also be actively moderated. By enabling the Admin Approval option, all ads will need to be manually approved by an admin in the backend in order to become published on frontend.

The exchange goods system can be disabled by selecting "No" on the Swapping option. This way, the Propose Swap button and Offers List menu item will be unavailable. Users will still be able to view ads and exchange goods if they decide to by contacting other users.

The availability of ads can be defined by setting up how many days the users can extend their ad for, for how many months it can be published for or for how many months the expired/closed ads will be kept in archive.
Adding "0" for the later two means unlimited time. Users can extend ads when expired from the "My Ads" page.

Enabling the Wishlist allows users to set a list of desired items they wish to trade.
You can also make this field mandatory for every new ad by enabling Wishlist Required, as well as setting a maximum number of items allowed.

Set the Short description limit as the maximum number of characters allowed in the short description field.
The Tags limit defines how many tags are allowed per ad. Tags are an excellent way for ads to be filtered in a search. However, if a user puts too many tag words, his ad will pop up in every search and some people may find this annoying. To ensure this does not happen, you should set up a decent limit of tags, make the poster choose only the tags that are suited for his ad.

There are 2 different ad types that are available for posters:

  • Public Ads - Regular ads, where all the information can be seen by all users and messages are seen by everyone, unless the admin overrides it and messages can only be seen by the logged-in users.
  • Private Ads - The owner of the ad and his address is hidden to users. Messages can only be seen by the owner and the user that sent/received the message.

From this area, you can enable/disable these 2 types and also the option to allow users to Set the ad Type by themselves, if both auction types are enabled. In case you won't allow them to choose the type, you must choose one of them as the default one from the Default ad type option available below.

Set the ad State will let posters set the status of their ads. In case this option is disabled, you will have to choose the default value of the ads' status to either Published or Unpublished upon creating them.

Image Settings

On the Image Settings tab you can view the current version of the graphic library and to Enable Images for listings. In case this feature is disabled, the image gallery on the listings will be unavailable and there will be no option to upload images.
The Gallery Type option will allow you to select from 3 different gallery types that are available and selectable from the scrolldown menu: Scroll Gallery, Lytebox, and Picture Slider.

If images are enabled, you can define them on the Size and Limits area.
You can add a value for Maximum picture size, and also set a limit for the Maximum number of images per listing.
The main image of every new ad can be made mandatory by setting the Require Main Picture for listing to "Yes".

There are two image sizes that can be set on this page. These are not for the full-sized versions, but for their thumbnails displayed on the listings and ads details pages.

The Listing Thumbnails settings allow you to change the width and height of the images found on the listing pages such as Ads list and My ads. The Ad Details Images settings have assigned the images found in the detailed view of the ads.

(!) The full-size modal box, which appears when clicking on the image, is resized dynamically in Javascript according to the clients' resolution.
That means that for any resolution the browser has, the image is always centered and about 90% of the height or width available on screen.

Access Control List

From this tab, you can enable the ACL feature that will allow you to select specific groups of users that can publish ads.
Click on the Groups allowed to post ads field to add new groups. A drop-down menu will appear, where you can select the groups that will be able to post new ads.

Google Maps

For each ad, a separate location can be specified using the Google Maps system. Users can view the map with all the active ads and their locations on the user menu's Ads on map page. Besides this, users can also view the location of a specific ad from it's details page.

From this tab, you can configure the Google Maps integration. This has to be configured before it can be displayed on the frontend. To make this feature work, you will need an API key. Click on the Get API Key link provided and follow the instructions there. Afterward, copy/paste the link into the field and click on Save.

Now that the map can be displayed, you can set its default position by clicking on Pick Position or by adding the latitude and longitude coordinates manually. Besides this, you can also set the default zoom level of the map from 1 to 10 on the Google Maps Zoom Level field.

Distance Unit allows you to choose from either Kilometers or Miles as the metric system which will be used regarding distance. Add specific values for the chosen metric system on the field below. These will be displayed on the actual map.

By enabling Google Maps in Ad Details, users will have, for every ad, a Location on Map tab where they can check the exact location of the respective ad.
If enabled, you can define the width and height of the map and select which type of map will be used: Roadmap, Hybrid, Satellite or Terrain.

Spam Protection

With ReCaptcha you can avoid unwanted bot spam. This will require the user to enter certain letters or numbers that a computer can not read, thus preventing automated spam messages.
In case you enabled this feature from the General Settings tab, you will have to acquire a public and a private key for it to work. Click on the Get it here provided link, which will redirect you to ReCaptcha's website. Follow the instructions found there and copy/paste the public and private keys.

Furthermore, you can choose one of the four available Themes for ReCaptcha: Red, White, Backglass or Clean.

From the Email Spam Protection area you can enable the email protection and select which type of plugin you wish to be used.
The Recaptcha Mailhide plugin works the same way as regular ReCaptcha, but it is used when users want to see email addresses. Other email protection methods are Smarty and Joomla. Smarty obfuscates the source code with Javascript, while Joomla simply hides the email address.

In case you choose ReCaptcha Mailhide, you have to add a public and a private key. Clicking on the Get it here link will redirect you to ReCaptcha's website to obtain the public and private keys. Copy/paste them into the provided fields and click on Save when you are done.

Terms and Conditions

This tab comes with a simple WYSIWYG editor where you can add your website's Terms and Conditions.
When a user creates an ad, he must agree to the Terms and Conditions, such as Privacy, Confidentiality, Limitations or Payment method.
However, by leaving the text field empty, it will no longer be required on the frontend, hiding the field completely.


From the Restrictions tab you can set a limit of ads globally, per user groups or per user.
The priority of the limit is User > Group > Global. This means that, for example, even if there is a global limit of 5 ads but the respective user has a custom user limit set for him of 10 ads, the later one will be prioritized, ignoring the global limit and allowing the user to add a maximum of 10 ads.

Add a value which will be applied as a Global User Limit for ads. In case there are no other custom limits added, this will be applied to all the users on your website. Leave blank for unlimited ads.

On the Custom Limits per User Group you can select various user groups and add the limit value in the text field below. Multiple limits for different groups can be added by clicking on Add new limit. This is more relevant than the global limit but less relevant than limits per user.

On the Custom Limits per Users area, you can limit the number of ads for certain users. Clicking on the Users field will display a drop-down menu where you can select one or more users. Add the value below and click on Add new limit in case you wish to add a different limit to other users.

System Info

The System Info tab is implemented to provide basic information about the cache directory, upload directory or configuration file. These are useful for debugging if any issues arise. The component handles the configuration file permissions itself, even if the configuration file might be Unwritable, the component will still be able to save the configuration and restore previous permissions.

Currency Manager

The Currency Manager page allows you to manage the currencies used for ad prices or for buying payment items.
You can select a default currency so that when payments are made for payment items with other currencies it will convert them and recalculate the prices.
Clicking on Refresh conversion will update the rates using Yahoo conversion.

Clicking on New will allow you to add new currencies. Simply add the currency abbreviation and a conversion rate. In case you don't know the conversion rate you can leave the field empty and click on Refresh conversion afterward to update it. The CRON script also updates currency exchange rates according to Yahoo. Check the CRON documentation for more information.

Manage Categories

Ads can be assigned by users to various categories depending on the backend configuration.
The Category Management area allows you to create categories along with sub-categories or to sort the order of the already existing ones.
The component supports unlimited category levels.

To add multiple categories at once use the Quick add button found at the bottom of the page. The Quick Add option allows you to add more categories along with their subcategories at once. They have to be written in a certain way to be properly arranged: write the main category first, on the next line leave one space and write a subcategory, under it, you can write another one, and so on. If you want to add another main category do not leave any space in front of it and then continue as you did with the others.

Component Menu

Swap Factory comes with many menu items that you can manage by adding or removing them from the user menu.
Here is a list of the items that are available on the Swap Factory menu upon the installation:

  • Ads List - Displays lists containing all the active/expired/archived ads.
  • Offers List - Displays lists of all the offers to trade goods that are either received, submitted or closed.
  • Categories - Displays a list with all the available categories.
  • Ads on map - Displays Google Maps with the location of all the ads.
  • Search - Displays search forms that can look up after a certain keyword, price or user.
  • New Ad - Displays a form for users to post new ads.
  • My Ads - Displays a list with all the ads posted by the logged in user.
  • Watchlist - Displays all the ads or categories added to favorites by the logged in user.
  • Profile - Displays a page where the logged in user can view and edit his profile, check his payment balance, and more.

(!) Documentation based on Swap Factory version 2.0.0