Solved!!! Hope can be useful
This is the class
class SeoTemplate extends WireData implements Module {
public static function getModuleInfo() {
return array(
"title" => "SeoTemplate",
"summary" => "Module for add seo_rules field to template.",
"version" => "0.0.1",
"autoload" => true
);
}
public function init() {
$this->addHookAfter("ProcessTemplate::buildEditForm", $this, "appendFieldToForm");
$this->addHookBefore("ProcessTemplate::executeSave", $this, "saveSeoRuleField");
}
public function appendFieldToForm(HookEvent $event) {
$languages = $this->wire('languages');
$template = $event->arguments[0];
$form = $event->return;
$field = $this->modules->get("InputfieldText");
$field->attr('id+name', 'seo_rules');
$field->attr('value', $template->seo_rules);
if($languages) {
$field->useLanguages = true;
foreach($languages as $language) $field->set('value' . $language->id, $template->get('seo_rules' . $language->id));
}
$field->label = $this->_('Seo rule');
$field->description = $this->_('If you want to add a custom rule to MarkupSEO');
$field->notes = $this->_('To define a variable use {title} syntax');
$form->insertAfter($field, $form->tags);
$event->return = $form;
}
public function saveSeoRuleField($event) {
$template = $this->templates->get($this->input->post->id);
$template->set('seo_rules', $this->input->post->seo_rules);
$languages = $this->wire('languages');
if($languages) {
foreach($languages as $language) {
$template->set('seo_rules'.$language->id, $this->input->post->{"seo_rules__$language->id"});
}
}
}
}