I'm writing a sub-theme of Seven, and I don't want the page title or tabs being displayed in the Header region. But Seven puts them there in such a way that it doesn't seem possible to remove them...
if (isset($variables['content']['header'])) {
if ($variables['title']) {
$title = '<h1 class="page-title">' . $variables['title'] . '</h1>';
$variables['content']['header'] .= $title;
$variables['title'] = NULL;
}
if ($variables['tabs']) {
$tabs = '<div class="tabs">' . $variables['tabs'] . '</div>';
$variables['content']['header'] .= $tabs;
$variables['tabs'] = NULL;
}
}
(Source: https://api.backdropcms.org/api/backdrop/core%21themes%21seven%21templat...)
By appending the title and tabs as strings to the end of the $variables['content']['header']
variable, it makes it impossible to remove using another preprocess function. I thought about maybe recreating the $variables['content']['header']
variable in my preprocess function from scratch less the title and tabs, but it seems to be too late in the chain to be possible either.
Does Seven need to do it this way? Would the alternative be for Seven to override all layout templates and do it in them instead? Would that help here or not?
Recent comments
A simple way — use Field Group to create a container for fields https://backdropcms.org/project/field_group and CSS Flex оr Grid to alignment.
Layout also for /node/add/ forms?
Yes. The are several ways to do this: Install Mail System and select "Testing" for delivery in admin/config/system/mailsystem Install Maillog / Mail developer...
Prevent Backdrop from sending emails
The short answer is no, you can't theme forms or change their layouts through the UI. There is a ported version of Display Suite, which has a submodule called Display Suite Forms that allows you...
Layout also for /node/add/ forms?