strengerst 9 июня 2021 в 16:12 Если хукнунуть так <?php function news_preprocess_field(&$variables){ $variables['attributes']['class'] = 'col-md-auto'; } ?> то пропишит класс div а как сделать что бы класс прописать P которая следует за div Есть вопрос Решение проблем Блог Войдите или зарегистрируйтесь, чтобы отправлять комментарии
mnigma 9 июня 2021 в 23:05 1 function THEME_preprocess_node(&$vars){ if ($vars['node']->getType() == 'MY_TYPE' && $vars['view_mode'] == 'teaser' && isset($vars['content']['body'])){ $new_text = str_replace('<p>','<p class="MY_CLASS">',$vars['content']['body'][0]['#text']); $vars['content']['body'][0]['#text'] = $new_text; } } } Так не пойдет?
mnigma 9 июня 2021 в 23:21 1 или для первого $new_text = ''; $content_exp = explode('<p>', $text); foreach ($content_exp as $key => $content_p) { if($key == 0){ $new_text = '<p class="My_CLASS">'.$content_p; }else{ $new_text = '<p>'.$content_p; } } А вообще не легче сделать как Вы - добавить класс через _preprocess_field. И прописать в стилях ? .field_class > p { .... }
mnigma 11 июня 2021 в 7:52 mnigma wrote: if($key == 0){ Писал без проверки. Тут, наверно, нужно проверять не 0 ключ, а первый. Нулевой, скорее всего, будет пустой. if($key>0) { if($key == 1){ $new_text = '<p class="My_CLASS">'.$content_p; }else{ $new_text = '<p>'.$content_p; } }
Комментарии
if ($vars['node']->getType() == 'MY_TYPE' && $vars['view_mode'] == 'teaser' && isset($vars['content']['body'])){
$new_text = str_replace('<p>','<p class="MY_CLASS">',$vars['content']['body'][0]['#text']);
$vars['content']['body'][0]['#text'] = $new_text;
}
}
}
Так не пойдет?
или для первого
$content_exp = explode('<p>', $text);
foreach ($content_exp as $key => $content_p) {
if($key == 0){
$new_text = '<p class="My_CLASS">'.$content_p;
}else{
$new_text = '<p>'.$content_p;
}
}
А вообще не легче сделать как Вы - добавить класс через _preprocess_field. И прописать в стилях ?
{
....
}
Спасибо большое.
Писал без проверки. Тут, наверно, нужно проверять не 0 ключ, а первый. Нулевой, скорее всего, будет пустой.
{
if($key == 1){
$new_text = '<p class="My_CLASS">'.$content_p;
}else{
$new_text = '<p>'.$content_p;
}
}