Solidres has two kinds of custom fields, and they do different jobs:
| Booking form fields | Property and room type fields | |
|---|---|---|
| Who fills them in | The guest, while booking or sending an inquiry | You, while editing a property or a room type |
| Good for | Asking for what you need to know: arrival time, passport number, pick-up location, a copy of an ID | Describing what you offer: facilities, policies, room size, social network links |
| Where they are managed | In the Solidres administrator, with a form. No file editing | On the property and room type forms, built into Solidres |
| Provided by | The Custom Field plugin, a separate download | Solidres itself |
| Read more | Custom fields for the booking forms | Property and room type details |
PREREQUISITES:
- Joomla 6.x, PHP 8.3+
- Solidres 4.7.0 or later
- For the booking form fields: a paid Solidres subscription, at any level. It carries the Custom Field download
- To add a property or room type field of your own: a developer who can write a small Joomla plugin
On this page:
- Custom fields for the booking forms
- Installation
- The forms you can customise
- The default fields
- Creating a field
- The input name
- Field types
- File upload
- The order of the fields
- One field, some properties or experiences
- Fields that depend on an extra
- Examples
- The inquiry form
- Where the answers are shown
- The guest profile
- Translating the fields
- Removing a field
- Property and room type details
- Troubleshooting
Custom fields for the booking forms
Without the Custom Field plugin, Solidres asks every guest the same fixed set of questions. With it, the forms are yours: rename a field, make it optional, remove it, or add a new one, all from the administrator.
Installation
- Download Solidres Custom Field from your Download page on solidres.com.
- In your Joomla administrator, go to System → Install → Extensions and upload the package.
The plugin is enabled by the installer. If it has been disabled since, enable Solidres - Custom Field plugin under System → Plugins.
NOTE The Hub and Experience packages need this plugin, version 2.0.0 or later. Their installers check for it and stop if it is missing, so install Custom Field first.
The forms you can customise
Each form has a field list of its own. A field belongs to the list it was created in and is shown in that form only.
| Form | Where the guest sees it | Where you manage it |
|---|---|---|
| Guest form | The guest information step of a booking: name, email, address. Asked once per booking | Solidres → Customers → Custom fields |
| Room form | The room step of a booking, next to the guest names and the extras. Asked once for every room booked | Solidres → Reservations → Custom fields |
| Inquiry form | The inquiry form of a property page | Solidres → Reservations → Inquiry fields |
| Experience guest form | The booking form of an experience. Needs the Experience package | Solidres → Experiences → Custom fields |
| Partner subscription form | The form a partner fills in to subscribe. Needs the Hub package, with subscriptions or commissions enabled | Solidres → Subscriptions & Commissions → Custom fields |
The default fields
The plugin installs the fields Solidres needs. They are marked in the Default column of the list.
| Form | Default fields |
|---|---|
| Guest form | Title, First name, Middlename, Last name, Email, Confirm Email, Landline number, Mobile phone, Company, Address 1, Address 2, VAT number, City, Zip/Postal code, Country, State/Province, Note |
| Inquiry form | Full name, Email, Phone, Message |
| Room form | None. The list starts empty |
A default field can be changed, within limits:
| You can | You cannot |
|---|---|
| Change its title, description and placeholder | Change its input name |
| Make it optional or required | Change its field type |
| Unpublish it, so it is no longer asked | Delete it |
| Move it up or down the list |
IMPORTANT Keep Email published in the guest form, and Full name and Email in the inquiry form. The booking confirmation is sent to the first, and an inquiry cannot be answered without the other two.
TIP While Confirm Email is published, Solidres refuses a booking when the two addresses differ. To ask for the email address once, unpublish Confirm Email. The check goes with it.
Creating a field
Open the list of the form you want to change and select New.
| Field | What it does |
|---|---|
| Title | The label the guest sees, and the label used in the reservation details and the emails. |
| Input name | The technical name of the field. See The input name. |
| Field type | The kind of answer you expect. See Field types. |
| Placeholder | A hint shown inside the empty field. For the types Text field, Textarea and Email. |
| Cols, Rows | The size of the text box. For the type Textarea. |
| Categories | Limits the field to the properties, or the experiences, of the selected categories. Leave it empty to ask everywhere. For the guest form, the room form and the Experience guest form. See One field, some properties or experiences. |
| Assigned extras | Shows the field only when the guest selects one of the listed extras. Room form only. See Fields that depend on an extra. |
| Description | A longer explanation. The guest sees it in a pop-up when they point at the label. |
| Searchable | Yes adds the field to the filters of the reservation list. For the types Text field, Textarea, Email, Select box, Checkbox and Radio. See Finding reservations by a field. |
| Optional | No makes the field required: the form cannot be sent without it, and the label carries an asterisk. A new field is required unless you change this. |
| Status | Only a published field is shown. |
| Created at, Created by | Filled in when the field is saved. |
| Access | The Joomla access level that sees the field. Public shows it to everyone, Registered to logged-in guests only. |
| Multiple | Yes lets the guest select several options. For the type Select box. |
| Options | The choices of a Select box, Checkbox or Radio field. Select Add for each choice and enter the Option text the guest reads and the Option value that is saved. To remove choices, tick them and select Remove. |
The input name
Solidres handles the answers of a form together with the other data of the booking, and tells them apart by their input name. Use lower-case letters, digits and underscores, give every field its own name, and start the name with the prefix of the form. The prefix keeps your field clear of the names Solidres uses itself:
| Form | Prefix | Example |
|---|---|---|
| Guest form | customer_ |
customer_pickuplocation |
| Experience guest form | customer_ |
customer_shoesize |
| Inquiry form | inquiry_ |
inquiry_arrival_date |
| Room form | None needed | room_bed_preference |
Any other character, a space included, is replaced by an underscore when the field is saved.
IMPORTANT Choose the input name once. Answers are stored under it, so a field that is renamed later no longer shows the answers given before.
Field types
| Field type | The guest gets | Use it for |
|---|---|---|
| Text field | A single line of text | Passport number, flight number, licence plate |
| Textarea | A text box of several lines | Special requests, dietary needs |
| A single line that accepts an email address only | A second contact address | |
| Date picker | A calendar | Date of birth, date of an anniversary |
| Select box | A drop-down list, with one or several choices | Arrival time, purpose of the trip |
| Checkbox | A list of boxes, several can be ticked | Interests, allergies |
| Radio | A list of choices, one can be selected | Bed preference, smoking or non-smoking |
| Country | The list of countries of your Solidres | Nationality, country of residence |
| Zone state | The list of states or provinces of the selected country | State of residence. Place it after a Country field |
| File upload | A button to send a file | A copy of an ID, a signed form. See File upload |
File upload
- Not in the room form. The type is available in the guest form, not in the room form.
- Size and file types follow Joomla. The limits are those of the Joomla Media options: Content → Media → Options. A file that Joomla would refuse in the Media manager is refused here.
- Files are kept private. A file can be downloaded by an administrator, by the partner who owns the property, by the guest who made the reservation, and through the link in the reservation emails, which carries the reservation code.
- Not part of the profile. A file belongs to one reservation. File fields are left out of the guest profile.
The order of the fields
The forms show the fields in the order of the list. To change it, sort the list by the first column and drag a field by its handle. The guest form splits the list over two columns: the first half on the left, the second half on the right.
The Optional column of the list is a switch. Select it to turn a field from optional to required and back, without opening the field.
One field, some properties or experiences
A field without Categories is asked everywhere. To ask a question in some places only, select one or several categories in the field. Which categories the list offers depends on the form:
| Form | The list offers | Managed under |
|---|---|---|
| Guest form, room form | The property categories | Solidres → Properties → Categories |
| Experience guest form | The experience categories | Solidres → Experiences → Categories |
Example for properties: your hotels need a passport number, your holiday apartments do not. Create the field Passport number in the guest form and select the category Hotels. Guests of the apartments never see it.
Example for experiences: your cooking classes need to know about food allergies, your city walks do not. Create the field Food allergies in the Experience guest form and select the category Cooking. An experience can be in several categories: the field is asked when one of them is selected in the field.
The fields of the inquiry form and of the partner subscription form are asked everywhere. The Categories setting has no effect there.
Fields that depend on an extra
Some questions only make sense when the guest buys an extra: the flight number for the airport transfer, the age of the child for the cot. A room form field with Assigned extras stays hidden until the guest ticks one of those extras for the room.
- Go to Solidres → Coupons & Extras → Extras and note the ID of the extra.
- Open the field under Solidres → Reservations → Custom fields.
- Enter the ID in Assigned extras. For several extras, separate the IDs with commas, without spaces:
4,7.
NOTE Set Optional to Yes on a field with assigned extras. A required field that is hidden cannot be filled in, and the guest who did not select the extra could not continue.
Examples
| Field | Value |
|---|---|
| Title | Estimated arrival time |
| Input name | customer_arrival_time |
| Field type | Select box |
| Options | Before 14:00, 14:00 to 18:00, 18:00 to 22:00, After 22:00. The same wording for text and value |
| Description | Check-in is from 14:00. Tell us if you arrive late, so we can arrange your key. |
| Optional | Yes |
| Searchable | Yes |
| Field | Value |
|---|---|
| Title | Flight number |
| Input name | room_flight_number |
| Field type | Text field |
| Placeholder | For example LH 1234 |
| Assigned extras | The ID of your Airport transfer extra |
| Optional | Yes |
The inquiry form
The inquiry form is shown on the property page when it is enabled in the property. With the plugin, it is built from the list under Solidres → Reservations → Inquiry fields, and every answer is part of the email the property receives.
- Start every input name with
inquiry_. - Keep the two fields
inquiry_full_nameandinquiry_email, and keep them required. The name goes into the subject of the email, and the address is the one the property replies to.
Where the answers are shown
| Place | Guest form fields | Room form fields |
|---|---|---|
| The reservation in the administrator | Yes, and they can be edited | Yes, with each room, and they can be edited |
| The reservation in the guest's account | Yes | No |
| The reservation in the partner dashboard, with the Hub package | Yes | Yes, with each room |
| The confirmation emails, to the guest and to the property | Yes | Yes. A field with assigned extras is listed only when the extra was booked |
| The PDF attached to the confirmation email, with the Invoice plugin | Yes | No |
| The CSV export of the reservation list | Yes, one column per field | No |
| The reservation list | On request, see below | No |
In the administrator, Confirm Email is left out: staff enter the address once.
Columns in the reservation list
Guest form fields can be shown as columns of the reservation list. Open the Solidres options, select the Reservation tab, and enter the input names in Custom fields in reservation list, separated by commas and without spaces:
customer_arrival_time,customer_company
Finding reservations by a field
A field with Searchable set to Yes is added to the Filter Options of the reservation list. A text field becomes a search box that finds a part of the answer, a field with options becomes a list of those options. This works for fields of the guest form and of the room form.
The guest profile
The guest form fields are also part of the account of a registered guest, under the heading Profile details:
- in the registration form and the profile form of Joomla,
- in the profile of the Solidres customer dashboard,
- in the customer and the Joomla user in the administrator. There, every field is optional.
When a logged-in guest books, the guest form is filled in from the profile, so a returning guest answers your questions once. Note, Email, Confirm Email and file fields are not part of the profile.
Translating the fields
There are three ways to show a field in the language of the guest:
| Method | How | Translates |
|---|---|---|
| Speedy Translate | Our own translation extension for Joomla. Keep its Multilingual mode option on Speedy. Then open the field and enter the title per language, or translate all the fields at once under Batch translations, in the list Solidres custom fields. | The title |
| Language constant | Enter a constant of your own as the title, for example MY_FIELD_ARRIVAL_TIME. Then give it a text per language under System → Language Overrides, for the Site and for the Administrator. |
The title |
| Falang | Deprecated since Solidres 4.5.0, and removed in a future release: move to Speedy Translate, whose Falang import copies these translations across. Until then, translate the content element Solidres - Custom Fields in Falang. | The title, the description and the text of the options |
NOTE The Falang content element is copied when the Custom Field plugin is installed, and only if Falang is there at that moment. If you add Falang later, install the Custom Field package once more.
Removing a field
| You want to | Do this |
|---|---|
| Stop asking a question | Unpublish the field. It can be published again later. |
| Remove a field of your own | Move it to the trash. Then set the Status filter of the list to Trashed, select the field and select Delete. |
| Remove a default field | Unpublish it. A default field cannot be deleted. |
The answers guests gave to a field that is unpublished or deleted stay in the database, but they are no longer shown with the reservations.
IMPORTANT Uninstalling the Custom Field plugin removes all fields and all answers, of every form. To stop using it for a while, disable the plugin instead.
Property and room type details
These fields describe a property or a room type. You fill them in on the property's Policies & facilities tab (the social links on its Details tab) or on the room type's Room details tab, and the website shows them on the property page. They are part of Solidres: there is nothing to install or enable.
The built-in fields
| For | Section | Fields |
|---|---|---|
| Property | Facilities | General, Activities, Services, Internet, Parking |
| House rules | Check-in time, Check-out time, Cancellation / Prepayment, Children and extra beds, Pets, Accepted credit cards | |
| Social links, on the Details tab | A link and a show switch for Facebook, Instagram, Twitter, Pinterest and YouTube | |
| Room type | Conditions | Taxes, Prepayment |
| Facilities | Room facilities, Room size, Bed size |
Some of them can be made required or left out of the form. Open Solidres → Options → Form fields and choose Required, Optional or Disabled for the check-in time, the check-out time, the cancellation and prepayment policy, the children and extra beds policy and the pets policy of a property, and for the room facilities, the room size and the bed size of a room type. A required field must be filled in before the form can be saved. A disabled field is left out of the form, and a text entered in it before is kept and still shown on the website.
With the Hub package, partners fill in the same fields in the partner dashboard, on the same tabs of their property and room type forms, and the Form fields settings apply to them too.
Adding a field of your own
The forms are part of Solidres, and an update of Solidres replaces their files, so a field added to them by hand would be lost. A field of your own goes in a small Joomla plugin instead. The plugin adds the field to the form each time the form is built, an update of Solidres leaves it alone, and the text entered in the field is saved with the property or room type like the built-in ones.
Writing the plugin takes a developer who knows Joomla, but not long: the example below is complete. It adds a Dining field to the Facilities section of a property and a View field to the Facilities section of a room type. Its six files go in a folder named plg_system_mydetails:
plg_system_mydetails/
mydetails.xml
services/provider.php
src/Extension/MyDetails.php
forms/property.xml
forms/roomtype.xml
language/en-GB/plg_system_mydetails.ini
Step 1: the plugin
mydetails.xml describes the plugin to Joomla:
<?xml version="1.0" encoding="utf-8"?>
<extension type="plugin" group="system" method="upgrade">
<name>System - My details</name>
<version>1.0.0</version>
<description>Adds my own fields to the Solidres forms.</description>
<namespace path="src">My\Plugin\System\MyDetails</namespace>
<files>
<folder plugin="mydetails">services</folder>
<folder>forms</folder>
<folder>src</folder>
</files>
<languages>
<language tag="en-GB">language/en-GB/plg_system_mydetails.ini</language>
</languages>
</extension>
services/provider.php creates it:
<?php
\defined('_JEXEC') or die;
use Joomla\CMS\Extension\PluginInterface;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use My\Plugin\System\MyDetails\Extension\MyDetails;
return new class () implements ServiceProviderInterface {
public function register(Container $container): void
{
$container->set(
PluginInterface::class,
fn () => new MyDetails((array) PluginHelper::getPlugin('system', 'mydetails'))
);
}
};
src/Extension/MyDetails.php does the work. When Solidres builds the property form or the room type form, it adds the fields of the matching XML file:
<?php
namespace My\Plugin\System\MyDetails\Extension;
\defined('_JEXEC') or die;
use Joomla\CMS\Event\Model\PrepareFormEvent;
use Joomla\CMS\Plugin\CMSPlugin;
use Joomla\Event\SubscriberInterface;
final class MyDetails extends CMSPlugin implements SubscriberInterface
{
// Loads language/en-GB/plg_system_mydetails.ini on every page, the website's included.
protected $autoloadLanguage = true;
public static function getSubscribedEvents(): array
{
return [
'onReservationAssetPrepareForm' => 'addFields',
'onRoomTypePrepareForm' => 'addFields',
];
}
public function addFields(PrepareFormEvent $event): void
{
$files = [
'com_solidres.reservationasset' => 'property.xml',
'com_solidres.roomtype' => 'roomtype.xml',
];
$form = $event->getForm();
$file = $files[$form->getName()] ?? null;
if ($file !== null) {
$form->loadFile(JPATH_PLUGINS . '/system/mydetails/forms/' . $file);
}
}
}
Step 2: the fields
forms/property.xml holds the fields of a property:
<?xml version="1.0" encoding="utf-8"?>
<form>
<fields name="reservationasset_extra_fields">
<fieldset name="facilities">
<field
name="dining"
type="textarea"
rows="5"
label="PLG_SYSTEM_MYDETAILS_DINING_LABEL"
description="PLG_SYSTEM_MYDETAILS_DINING_DESC"
filter="safehtml"
/>
</fieldset>
</fields>
</form>
and forms/roomtype.xml those of a room type:
<?xml version="1.0" encoding="utf-8"?>
<form>
<fields name="roomtype_custom_fields">
<fieldset name="facilities">
<field
name="view"
type="text"
label="PLG_SYSTEM_MYDETAILS_VIEW_LABEL"
description="PLG_SYSTEM_MYDETAILS_VIEW_DESC"
filter="string"
/>
</fieldset>
</fields>
</form>
The <fields> tag says where the text is saved, and must be named as in the example: reservationasset_extra_fields for a property, roomtype_custom_fields for a room type. The <fieldset> tag says in which section of the form the field appears, after the section's own fields:
| For | Fieldset name | Section |
|---|---|---|
| Property | facilities |
Facilities, on the Policies & facilities tab |
policies |
House rules, on the Policies & facilities tab | |
social_networks |
Social links, on the Details tab | |
| Room type | conditions |
Conditions, on the Room details tab |
facilities |
Facilities, on the Room details tab |
A <field> tag has the following attributes:
| Attribute | What it does |
|---|---|
name |
A unique name. The text is saved under it, and the template reads it by this name. Do not use the name of a built-in field: your field would take its place. |
type |
The type of the field, one of the Joomla form field types: text, textarea, list, radio and others. |
rows |
The height of the text box. Used by the type textarea only. |
class |
A CSS class for the field. |
label |
The label of the field: a language constant. |
description |
The line of help shown under the field: a language constant. |
filter |
How the text is cleaned when it is saved. safehtml keeps harmless HTML, such as line breaks and lists, and removes the rest. string keeps plain text only. |
required |
true makes the field required. |
Step 3: the labels
language/en-GB/plg_system_mydetails.ini gives the language constants their text: the labels of the form, and the labels the website shows, which How to show a field on the website explains:
; The labels on the property and room type forms PLG_SYSTEM_MYDETAILS_DINING_LABEL="Dining" PLG_SYSTEM_MYDETAILS_DINING_DESC="Where and when guests can eat at the property." PLG_SYSTEM_MYDETAILS_VIEW_LABEL="View" PLG_SYSTEM_MYDETAILS_VIEW_DESC="What guests see from the room, such as Sea view." ; The labels on the website, which the property and room type pages look up SR_CUSTOMFIELD_DINING="Dining" SR_CUSTOMFIELD_VIEW="View"
Because the plugin sets $autoloadLanguage, Joomla loads this file on every page, in the administrator and on the website. For another language, add a copy of the file translated, such as language/fr-FR/plg_system_mydetails.ini, with a line for it in the <languages> tag of mydetails.xml.
Step 4: install it and fill it in
Zip the folder, install the zip in System → Install → Extensions, and enable System - My details in System → Manage → Plugins. Edit a property and open the Policies & facilities tab: the Dining field is at the end of the Facilities section. Enter a text and save. The room type's View field is at the end of the Facilities section of its Room details tab. With the Hub package, partners see the two fields in their forms too.
To add more fields later, add them to the XML files of the plugin. The plugin is yours, so an update of Solidres does not change it.
How to show a field on the website
The built-in fields are shown by the templates of Solidres. A field you added with your plugin is saved, but no template knows it yet, so it has to be added to one. Do this in a template override, a copy of the file inside your Joomla template, and leave the file of Solidres as it is: an update replaces it.
There are three files. For each one, the first line is the file of Solidres and the second line is the place of your copy, both inside the folder of your Joomla installation:
-
The facilities and policies of a property
components/com_solidres/tmpl/reservationasset/default_information.php templates/YOUR_TEMPLATE/html/com_solidres/reservationasset/default_information.php
-
The same, for a property shown with the apartment layout
components/com_solidres/tmpl/apartment/default_information.php templates/YOUR_TEMPLATE/html/com_solidres/apartment/default_information.php
-
The fields of a room type
components/com_solidres/layouts/roomtype/customfields.php templates/YOUR_TEMPLATE/html/layouts/com_solidres/roomtype/customfields.php
To show the dining field of the example, open your copy of default_information.php and add the name of the field to the list of facilities:
$facilities = [
'general',
'activities',
'services',
'internet',
'parking',
'dining',
];
The template looks for the label of a field under the constant SR_CUSTOMFIELD_ followed by the name of the field in capitals, here SR_CUSTOMFIELD_DINING, which the plugin's language file holds. The new field is now shown on the property page, below Parking. A field that is left empty in a property is not shown.
A field of a room type is added the same way. In your copy of customfields.php, add a block for it. For the view field of the example:
if (!empty($roomType->roomtype_custom_fields['view'])) :
echo '<p><strong>' . Text::_('SR_CUSTOMFIELD_VIEW') . ':</strong> '
. htmlspecialchars($roomType->roomtype_custom_fields['view']) . '</p>';
endif;
NOTE After an update of Solidres, open Solidres → System. The Template override check list tells you which of your overrides are older than the file they replace. Compare those with the new file and bring them up to date.
One field, several languages
The facilities and policies of a property can hold a text per language. With Speedy Translate, the fields of the property's Policies & facilities tab have language tabs: type each language in its own tab. Without it, wrap each text in a language tag that carries the URL language code of the language, the one set under System → Content Languages: en, fr, de. The property page shows the text of the current language:
{lang en}Breakfast is served from 7:00 to 10:30.{/lang}
{lang fr}Le petit-déjeuner est servi de 7h00 à 10h30.{/lang}
{lang de}Frühstück gibt es von 7:00 bis 10:30 Uhr.{/lang}
A text without a language tag is shown in every language.
Removing a field
To remove a field of your own, delete its <field> tag from the XML file of your plugin, or uninstall the plugin to remove all its fields. If you added the field to a template override, remove it there as well. The texts entered in the field stay in the database, unused, and come back if you add the field again under the same name.
A built-in field cannot be removed, but it can be hidden: leave it empty, or set it to Disabled in Solidres → Options → Form fields if it is one of those listed there. To hide the whole Facilities or House rules section of a property page, turn off Show the facilities below on the property page or Show the house rules on the property page on the property's Policies & facilities tab.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| Customers → Custom fields shows "plugin Custom Field is not installed or enabled" | Install the Custom Field plugin, or enable Solidres - Custom Field plugin under System → Plugins. |
| The Hub or Experience installer stops and asks for the Custom Field plugin | The plugin is missing, disabled or older than 2.0.0. Install or enable it, then install the package again. |
| A new field is not shown in the form | Check, in this order: the field is published; it was created in the list of the right form; the guest has the Access level of the field; the property, or the experience, is in one of the Categories of the field, or the field has none. |
| The answer to a field is missing from the reservation, or another value of the reservation is wrong | The input name does not start with the prefix of the form, or two fields share one input name. See The input name. |
| A room form field is never shown | It has Assigned extras, and the guest did not select one of them. Check the IDs, and that they are separated by commas without spaces. |
| The guest cannot continue, and no field looks empty | A required field is hidden because it has assigned extras. Set Optional to Yes on it. |
| The booking is refused with a message that the emails do not match | Confirm Email is published and the two addresses differ. To ask for the address once, unpublish Confirm Email. |
| A file is refused | It is larger than the maximum size, or of a type that is not allowed, in Content → Media → Options. |
| A default field cannot be deleted | This is intended. Unpublish it instead. |
| The field list of the form cannot be reordered | Sort the list by its first column, the one with the handles. Dragging works in that order only. |
| A field is not in the reservation list | Its input name is missing from Custom fields in reservation list in the Solidres options, or it is misspelled there. Only guest form fields can be shown. |
| A field title is shown as a text in capitals, such as MY_FIELD_ARRIVAL_TIME | The title is a language constant without a text. Create the language override for the Site and for the Administrator. |
After updating to Solidres 4.7.0, a field I had added to reservationasset.xml or roomtype.xml is gone from the form |
Solidres 4.7.0 removed the plugin Extension - Solidres, and those two files with it. The update named the fields it found there. The texts entered in them are kept, and a template override that shows them still does. Add the fields again with a plugin of your own, under the same names: see Adding a field of your own. |
| A field of your own is not in the property or room type form | Check, in this order: the plugin is enabled; its <fields> tag is named reservationasset_extra_fields or roomtype_custom_fields; its <fieldset> tag has one of the names in Adding a field of your own; the XML file is valid, with every tag closed. |
| A field of your own shows its label in capitals | The constant is missing from the plugin's language file, or the file is not loaded. Check the spelling of the constant, the <languages> tag of the manifest, and $autoloadLanguage = true in the plugin. On the website, the label is SR_CUSTOMFIELD_ followed by the field name in capitals. |
| A field of your own is filled in, but not shown on the website | It is not in the template yet. See How to show a field on the website. |