Content element "Job board"
The extension registers one content element (CType
jobboard_, plugin namespace tx_)
with four actions:
list- Default action. Shows the search form, the map and all current jobs. Cached.
search- Shows the jobs matching the submitted search form. Not cached, because the search criteria are arbitrary.
detail- Shows one job. Cached. The shipped templates render the detail view on the same page as the list.
rememberedJobs - Shows the jobs remembered by the current visitor. Not cached, see View of the remembered jobs.
The cached actions render the same output for every visitor. The remembered jobs are highlighted by JavaScript, see Caching.
The options of the content element are in the tab Configuration. See Insert the content element "Job board" for the editor's view.
Sheet "General"
Sheet "General" of the content element
| Name | Type | Default |
|---|---|---|
| occupational field records | empty | |
| integer |
0
|
|
'', 1 or -1
|
'' (Use value from TypoScript)
|
-
- Type
- occupational field records
- Default
- empty
FlexForm field
settings.. Shows only jobs that have at least one of the selected occupational fields. Empty: jobs of all occupational fields are shown.job Areas The restriction applies to the list and to the search result. The select box of occupational fields in the search form and the number of jobs per occupational field only consider the selected fields. A submitted occupational field outside of the selection is ignored.
-
- Type
- integer
- Default
0
FlexForm field
settings.. Maximum number of jobs in the list and in the search result. The limit is part of the database query and applies after all other conditions, for example jobs without salary information (see jobboard.salary.required), so visitors always get up to this number of jobs.max Entries 0shows all jobs.A number greater than
0also switches off the page browser: the limited list is shown on one page, independent of Show page browser and the site setting jobboard.pageBrowser.enable.
-
- Type
'',1or-1- Default
''(Use value from TypoScript)
FlexForm field
settings.. "Use value from TypoScript" uses the site setting jobboard.pageBrowser.enable. "Show" (page Browser. enable 1) and "Hide" (-1) override it for this content element. With "Hide", the list and the search result show all jobs on one page.Has no effect, if Max entries to show (0 for all) is greater than
0. Then the page browser is never shown.
Sheet "Search"
Sheet "Search" of the content element
| Name | Type | Default |
|---|---|---|
| boolean |
1
|
|
zip or job
|
zip
|
|
| boolean |
1
|
|
'', 1 or -1
|
'' (Use value from TypoScript)
|
-
- Type
- boolean
- Default
1
FlexForm field
settings.. Shows the search form. The map is shown independent of this option.show Search
-
- Type
ziporCity jobLocation - Default
zipCity
FlexForm field
settings..address Search Mode zip(Search field with suggestions)City - A text field for a ZIP code or city. After three characters, up to five suggestions in the format "12345 - Sample Town" are shown, see Suggestions for the location field.
job(Job location select box)Location - A select box with the cities of all listed jobs.
-
- Type
- boolean
- Default
1
FlexForm field
settings.. Shows the keyword field.show Free Text Search
-
- Type
'',1or-1- Default
''(Use value from TypoScript)
FlexForm field
settings.. "Use value from TypoScript" uses the site setting jobboard.showJobAreaCount. "Show" (show Job Area Count 1) and "Hide" (-1) override it for this content element.
How the search works
A job is part of the search result if it is currently open (see Why is my job not shown?) and matches all filled fields of the search form:
- Occupational field
- The job has this occupational field among its occupational fields. If the content element restricts the occupational fields (see Job areas), only jobs of these fields are found, and a submitted field outside of them is ignored.
- Position, employment scope
- The job has exactly this position or employment scope.
- Location
- An input like "12345 - Sample Town" is split at the hyphen. Jobs match if the ZIP code of their address is "12345" or the city contains "Sample Town". A number only is searched as ZIP code, other input as part of the city.
- Keyword
- The input is split at spaces. Every word must be found (AND). Each word may be found in the title, description, offer, requirements, further information, application guidelines, or the street or city of the address.
The list and the search result are sorted by application deadline, jobs without an application deadline first. Jobs with the same application deadline are sorted by their UID, so every job appears on exactly one page of the page browser. Remembered jobs keep their place in this order. The table layout can be sorted by the visitor afterwards.
The options of the select boxes in the search form (occupational fields with the number of jobs, positions, employment scopes and job locations) are calculated in the database with the same conditions as the listed jobs. With Max entries to show (0 for all), they only contain values of the listed jobs.
The search form sends these arguments to the action
search
, which
you can also use in own forms:
tx_(UID of an occupational field)jobboard_ jobboard [job Area] tx_(UID of a position)jobboard_ jobboard [job Role] tx_(UID of an employment scope)jobboard_ jobboard [job Type] tx_(ZIP code and/or city)jobboard_ jobboard [address] tx_(keywords)jobboard_ jobboard [search Word]
Caching of the job list
The list and the detail view are stored in the page cache of TYPO3. The page browser loads only the jobs of the current page from the database.
- Changed records
- TYPO3 does not know which pages show the jobs of the storage folder.
Add
TCEMAIN.with the UIDs of all pages with the job board to the page TSconfig of the storage folder, see Clear the cache of the job board pages. Otherwise, changes of editors and of the job import appear only when the cache expires.clear Cache Cmd - Dates of the jobs
- The list changes without any record being saved: a job appears at its
publish date and disappears at its expiration date, after its
application deadline or after its end of employment. The page cache of
TYPO3 (
config.) only considers the publish and expiration dates, not application deadlines or ending dates. The event listenercache \JWeiland\therefore limits the cache lifetime of pages with the content element to the next of these points in time: the next publish or expiration date of a job, or the midnight after the earliest upcoming application deadline or end of employment. Only jobs of the storage pages of the content element are considered.Jobboard\ Event Listener\ Limit Job List Cache Lifetime Event Listener - Salary grades
- Publish and expiration dates of salary grades and steps are applied by
the daily command
jobboard:. It saves the changed jobs with the DataHandler, sosalary: update TCEMAIN.clears the cache, see Update the effective salary of the jobs.clear Cache Cmd