FAQ

How can I use my own template?

In your template (setup) use the following typoscript:

plugin.tx_jobfair {
	view {
		templateRootPaths {
			100 = EXT:jobfair/Resources/Private/Templates/
			200 = fileadmin/template/extensions/jobfair/Templates/
		}
		partialRootPaths {
			100 = EXT:jobfair/Resources/Private/Partials/
			200 = fileadmin/template/extensions/jobfair/Partials/
		}
		layoutRootPaths {
			100 = EXT:jobfair/Resources/Private/Layouts/
			200 = fileadmin/template/extensions/jobfair/Layouts/
		}
	}
}
Copied!

NOTE: You do not have to copy the entire folder(s) to the new location. It is sufficient that you place only the files you are going to change in the fileadmin folder. However, be sure to recreate the right subfolder.

How to change the order of fields?

The order in the flexforms (list, show, filter) will be used in the frondend as well. So order the fields in the same sequence as you want them to appear in the frontend.

How to hide fields in the Backend?

In Page TSConfig:

TCEFORM.tx_jobfair_domain_model_job {
	contract_type.disabled = 1
	salary.disabled = 1
	sys_language_uid.disabled = 1
}
Copied!

How to change language labels in the BACKEND?

In Page TSConfig:

TCEFORM.tx_jobfair_domain_model_job.job_type {
	label.default = Category
	altLabels.0 = Search
	altLabels.1 = Offer
}
Copied!

This can be done language specific:

In Page TSConfig:

TCEFORM.tx_jobfair_domain_model_job.job_type.label.de = Kategorie
Copied!

NOTE: Do not use this to translate the entire backend but add your translation to the translation server of TYPO3

How to change language labels in the FRONTEND?

In your template (setup) use the following typoscript:

plugin.tx_jobfair._LOCAL_LANG.default {
   		tx_jobfair_domain_model_job.job_title = New label text
   }
Copied!

This can be done language specific:

In your template (setup) use the following typoscript:

plugin.tx_jobfair._LOCAL_LANG.de {
   		tx_jobfair_domain_model_job.job_title = New label text
   }
Copied!

NOTE: Do not use this to translate the entire Frontend but add your translation to the translation server of TYPO3

How to shorten the URL and use RealURL?

If you want to shorten the URL, it is possible to skip the controller parameter, since the jobfair extension works with only one controller in the frontend. To skip the controller add the following to your SETUP:

plugin.tx_jobfair {
   		features {
       			skipDefaultArguments = 1
   		}
}
Copied!

In general, there are two options if you want to shorten the URL by using RealURL: using postVarSets or fixedPostVars. | To use the postVarSets add the following code to your RealURL configuration:

'postVarSets' => array (
    '_DEFAULT' => array (
                      'job' => array(
                            array(
                                    'GETvar' => 'tx_jobfair_pi1[action]',
                            ),
                            array(
                                    'GETvar' => 'tx_jobfair_pi1[job]',
                                    'lookUpTable' => array(
                                            'table' => 'tx_jobfair_domain_model_job',
                                            'id_field' => 'uid',
                                            'alias_field' => 'job_title',
                                            'addWhereClause' => ' AND NOT deleted',
                                            'useUniqueCache' => 1,
                                            'useUniqueCache_conf' => array(
                                                    'strtolower' => 1,
                                                    'spaceCharacter' => '-',
                                            ),
                                            'languageGetVar' => 'L',
                                            'languageExceptionUids' => '',
                                            'languageField' => 'sys_language_uid',
                                            'transOrigPointerField' => 'l10n_parent',
                                            'autoUpdate' => 1,
                                            'expireDays' => 180,
                                    ),
                            ),
                       ),
    ),
),
Copied!

This will tranform your URL to the following format: http://www.yourdomain.com/pagepath/job/show/job_title.html Note that the pagepath depends on your configuration. | | As an even shorter alternative it is possible to configure the fixedPostVars in your RealURL configuration:

'fixedPostVars' => array(
            'jobfairConfiguration' => array(
      				array(
            	        'GETvar' => 'tx_jobfair_pi1[action]',
            					'valueMap' => array(
            					        'details' => 'show',
            					        'aktuell' => 'latest',
            					        'neu' => 'new',
            					        'anlegen' => 'create',
            					        'bearbeiten' => 'edit',
            					        'aktualisieren' => 'update',
            					        'loeschen' => 'confirmDelete',
            					        'loeschung' => 'delete',
            					        'bewerbung' => 'newApplication',
            					        'bewerben' => 'createApplication',
            					),
                      'noMatch' => 'bypass',
              ),
      				array(
                      'cond' => array('prevValueInList' => 'show,edit,confirmDelete,newApplication,createApplication'),
            	        'GETvar' => 'tx_jobfair_pi1[job]',
            					'lookUpTable' => array(
            					        'table' => 'tx_jobfair_domain_model_job',
            					        'id_field' => 'uid',
            					        'alias_field' => 'job_title',
            					        'addWhereClause' => ' AND NOT deleted',
            					        'useUniqueCache' => 1,
            					        'useUniqueCache_conf' => array(
            							            'strtolower' => 1,
            							            'spaceCharacter' => '-',
            					        ),
            					),
      				),
      			),
            '279' => 'jobfairConfiguration',
    ),
Copied!

Note: You need to adapt the configuration to the page ID where you inserted the jobfair plugin (change 279 to your page ID).

How can I use TYPO3 9+ routing with jobfair?

If you want to use shortened URLs with TYPO3 9+, you can use the following code in your site configuration.

Please mind the indentation: "routeEnhancers" starts on the first character of the line.

sites/<yourConfig>/config.yaml
routeEnhancers:
  Jobfair:
    type: Extbase
    extension: Jobfair
    plugin: Pi1
    routes:
      -
        routePath: '/{job_title}'
        _controller: 'Job::show'
        _arguments:
          job_title: job
      -
        routePath: '/'
        _controller: 'Job::list'
      -
        routePath: 'apply/{job_title}'
        _controller: 'Job::newApplication'
        _arguments:
          job_title: job
    defaultController: 'Job::show'
    aspects:
      job_title:
        type: PersistedAliasMapper
        tableName: tx_jobfair_domain_model_job
        routeFieldName: slug
Copied!

The first part will give you a shortened URL for the job itself.

The second part will give you a shortened URL for the "Back to list" button in the single view of the job.

And the third and final part will shorten the URL of the "Apply now" button. Here you should adapt the "apply" string to your needs.

You can also put the above code into your sitepackage and import it:

imports:
  -
    resource: 'EXT:yoursitepackage/Configuration/Routes/Default.yaml'
Copied!

How can I hide the jobs tab/field in the backend for Frontend Users?

Add the following TypoScript Configuration to Page TSConfig of your folder containing the Frontend Users (see page proberties)

TCEFORM.fe_users {
	jobs.disabled = 1
}
Copied!

The field will be hidden in the Backend

How can I change which fields are required to send an application?

You can change the default behaviour by editing the template file EXT:jobfair/Resources/Private/Templates/Job/NewApplication.html. Search for the attribute required="required". Plese note: to change the setting for the textarea, you need to set it using a different attribute:

additionalAttributes="{required: 'required'}
Copied!

How can I change the multiple select fields to simple dropdowns in filter?

You need to change the partial of the filter field (e.g. category: EXT:yoursitepackage/Resources/Private/Partials/Job/Filter/Category.html). Find the line

multiple="true"
Copied!

and change it to

multiple=""
  size="1"
Copied!

How can I add fields to the selects like contract types?

The reason why these fields are selects / dropdowns is that the fields where used in the older dmmjobcontrol extension. To make the transition process easy, those fields where not changed.

However, you can change both, the quantity of the items and the label. The process on how to change the labels is stated in the FAQ as well. To change those labels in the backend add the following to the page TSConfig:

TCEFORM.tx_jobfair_domain_model_job.job_type.altLabels.0= XYZ
Copied!

Additionally you have to add the following to the SETUP to change the label in the frontend:

plugin.tx_jobfair._LOCAL_LANG.default {
  tx_jobfair_domain_model_job.job_type.0 = XYZ
  }
Copied!

To add items you can simply add the following to the page TSConfig of the folder containing the jobs:

TCEFORM.tx_jobfair_domain_model_job.job_type.addItems {
              2 = XYZ
              3 = TEST 1
              4 = TEST 2
  }
Copied!

Finally, you need to change the partial JobType.html and add the following if statement (duplicate if you have more additional entries):

<f:if condition="{job.jobType} == 2">
  <f:translate key="tx_jobfair_domain_model_job.job_type.2" />
</f:if>
Copied!

This should be done at least in EXT:jobfair/Resources/Private/Partials/Job/Filter/Category.html

How can I changes file types allowed to upload?

A new feature in TYPO3 CMS 6.2 is that we can simply change the TCA by putting files in Configuration/TCA/Overrides/ The TCA in these files will be added to the cached TCA for extra speed. So if you have not done this before create a simply (empty) extension for your installation. By convention we'll simply use as filename tx_jobfair_domain_model_application.php, in our case: Configuration/TCA/Overrides/tx_jobfair_domain_model_application.php. Insert the following content:

How do I set up automatic cleanup of applications from the database?

To setup a scheduler based database cleanup job, e.g. for DSGVO conformance, you can add this configuration to your sitepackage.

This way, you can add the two tables to the table garbage collection of the scheduler.

See here for further information: Scheduler documentation - The base tasks <https://docs.typo3.org/c/typo3/cms-scheduler/main/en-us/Installation/BaseTasks/Index.html>

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][TYPO3CMSSchedulerTaskTableGarbageCollectionTask::class]['options']['tables']['tx_jobfair_domain_model_application'] = [
'dateField' => 'tstamp', 'expirePeriod' => '180',

];

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][TYPO3CMSSchedulerTaskTableGarbageCollectionTask::class]['options']['tables']['tx_formconsent_domain_model_consent'] = [
'dateField' => 'tstamp', 'expirePeriod' => '180',

]; ;