---
title: "Feature: The scripts of the new job form can be switched off"
manual: "Academic Jobs"
version: "main"
permalink: "https://docs.typo3.org/permalink/fgtclb/academic-jobs:feature-1791566501@main"
source: "Changelog/3.0/Feature-JavaScriptSwitch.rst"
rendered: "2026-10-12T10:12:12+00:00"
---

# Feature: The scripts of the new job form can be switched off {#feature-1791566501}

## Description {#description}

The **Jobs New** content element registers two scripts from inside
its template: CKEditor 4 from its content delivery network, and the module
`@fgtclb/academic-jobs/frontend/rich-text.js` that configures it. An
installation that brings its own editor, or wants none, had to override the
whole template to leave them out.

Both are switchable now, together, per site:

| Site setting and constant | Default |
| --- | --- |
| `plugin.tx_academicjobs.assets.js` | `true` |

It is declared by the site set `fgtclb/academic-jobs`, with every other setting
of this extension:

**config/sites/my-site/settings.yaml**

```yaml
plugin.tx_academicjobs.assets.js: false
```

An installation that configures its frontend through `sys_template`
records sets the TypoScript constant of the very same name, in
**Constants**:

**Constants of the root sys_template record**

```typoscript
plugin.tx_academicjobs.assets.js = 0
```

Every academic extension that loads a script has this switch, named
`assets.js` below its own plugin namespace and switched on by
default, after the switch of the study plan content element.

## Impact {#impact}

Nothing changes for an installation that configures nothing: the form loads
both scripts exactly as before.

Switched off, the page loads neither, and the markup is unchanged. The form
keeps working: the description fields are plain text areas with the class
`ace-ckeditor`, and a visitor submits the text as it is. See
[Load the script or bring your own](https://docs.typo3.org/permalink/fgtclb/academic-jobs:configuration-javascript@main).

A project that overrides `Templates/Job/New.html` keeps whatever its copy
loads. The switch reaches it once it wraps its own `<f:asset.script>` and
`<f:asset.module>` in `<f:if condition="{settings.assets.js}">`.
