Warning: You are browsing the documentation for PrestaShop 1.7, which is outdated.
You might want to read an updated version of this page for the current version, PrestaShop 8. Read the updated version of this page
The TranslatableType
allows you to configure multilanguage input. This multilanguage behavior is provided on top of an existing input Type.
Option | Type | Default | Description |
---|---|---|---|
type | string | Symfony\Component\Form\Extension\Core\Type\TextType |
Type that you want to be translatable |
options | array | Empty array | Options for configured type |
locales | array | Enabled shop locales (languages) | Locales in which field can be translated |
TranslateType
instead of TranslatableType
. Do not forget to add the option hideTabs
at true if you want to display the languages list above the WYSIWYG.Component | Description |
---|---|
admin-dev/themes/new-theme/js/components/translatable-input.js | Allows toggling input for different locales |
First, you have to add TranslatableType
to your form.
<?php
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use PrestaShopBundle\Form\Admin\Type\TranslatableType;
class SomeType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('description', TranslatableType::class, [
// we'll have text area that is translatable
'type' => TextareaType::class,
]);
}
}
Then in Javascript you have to enable TranslatableInput
component.
import TranslatableInput from "admin-dev/themes/new-theme/js/components/translatable-input";
// enable togging of different locales
new TranslatableInput();