Posted by Joppen on September 27, 2010 at 10:10pm
Hej!
Har gjort ändringar i template-filen för att ändra kommentarsformuläret. Allt har gått bra tills jag la till följande rad och jag får inte in kommentaren utan kommer till en "Reply to comment"-sida
$form['submit']['#value'] = t('Submit comment');Här är hela funktionen som fungerar om jag bortkommenterar ovanstående rad. Hur kommer detta sig och hur kan jag ändra på submitknappens text?
Här är hela funktionen:
function mytheme_comment_form($form) {
// Add some intro text.
$form['intro']['#value'] = t('<h3>Leave a comment!</h3>');
// Wrap the intro in a div for themeing.
$form['intro']['#prefix'] = '<div class="comment-info">';
$form['intro']['#suffix'] = '</div>';
// Weight it so it floats to the top.
$form['intro']['#weight'] = -40;
// Make the text-area smaller.
$form['comment_filter']['comment']['#rows'] = 5;
// Change the text-area title
$form['comment_filter']['comment']['#title'] = t('Your message');
// Add a div wrapper for themeing.
$form['comment_filter']['comment']['#prefix'] = '<div class="comment-form-prefix">';
$form['comment_filter']['comment']['#suffix'] = '</div>';
$form['preview'] = NULL;
$form['comment_filter']['format'] = NULL;
$form['submit']['#value'] = t('Submit comment');
return drupal_render($form);
}
Comments
Har du registrerat
Har du registrerat mytheme_comment_form() som en funktion i ditt tema?
Om du använder ett subtema till Zen:
/**
* Implementation of hook_theme().
/
function mytheme_theme(&$existing, $type, $theme, $path) {
$hooks = zen_theme($existing, $type, $theme, $path);
// Add your theme hooks like this:
/
$hooks['hook_name_here'] = array( // Details go here );
/
$hooks['comment_form'] = array(
'arguments' => array('form' => NULL),
// Note: by uncommenting the following line, you can also use a
// template file named comment-form.tpl.php to control the
// output of the form.
/'template' => 'comment-form', */
);
return $hooks;
}
Annars
/*** Implementation of hook_theme().
*/
function mytheme_theme(){
return array(
'comment_form' => array(
'arguments' => array('form' => NULL),
),
);
}
//Pontus Nilsson, Digitalist
Tack för ditt svar! Ja det
Tack för ditt svar!
Ja det har jag gjort (annars hade väl inte funktionen anropats alls?). Det konstiga är att alla andra ändringar går igenom om jag bara kommenterar bort just raden:
$form['submit']['#value'] = t('Submit comment');Känns lite mystiskt, säkert ett litet fel från min sida.
//Jonas
Subtema
Jag använder ett subtema till zen så jag använder:
$hooks['comment_form'] = array('arguments' => array('form' => NULL),
// Note: by uncommenting the following line, you can also use a
// template file named comment-form.tpl.php to control the
// output of the form.
/'template' => 'comment-form', */
);
//Jonas
Osäker på varför det "bryter"
Osäker på varför det "bryter" ditt formulär i tema funktionen. Du skulle kunna använda hook_form_alter för att ändra på texten i en custommodul istället
function mycustom_form_alter(&$form, $form_state, $form_id) {if($form_id == 'comment_form') {
$form['submit']['#value'] = t('Add comment');
}
}
//Pontus Nilsson, Digitalist
Problemet är att man får
Problemet är att man får skapa en modul till.
Har testat med att ersätta 'Save' med 'Save' i min template-fil, alltså:
$form['submit']['#value'] = t('Save');Det fungerar, men som sagt 'Save' är det enda som fungerar. Kan man debugga submit?
//Jonas
Hittade svaret här:
Hittade svaret här: http://drupal.org/node/592072
//Jonas