deactivated popsu_monde links, sass needs to be compiled

This commit is contained in:
Bachir Soussi Chiadmi 2021-08-26 21:58:14 +02:00
parent 3c1a1914bd
commit 38bcce6c82
2 changed files with 62 additions and 36 deletions

View File

@ -5,7 +5,8 @@
*/ */
use Drupal\Core\Template\Attribute; use Drupal\Core\Template\Attribute;
use Drupal\Core\Link;
use Drupal\Core\Url;
// function popsu_preprocess_views_view_list(&$variables){ // function popsu_preprocess_views_view_list(&$variables){
// kint($variables);die(); // kint($variables);die();
@ -133,48 +134,73 @@ function popsu_preprocess_views_view_grid(&$variables){
} }
function popsu_preprocess_views_view_field(&$variables){ function popsu_preprocess_views_view_field(&$variables){
// check if link to entoty option is true // check if link to entity option is true
$settings = isset($variables['field']->options['settings']) ? $variables['field']->options['settings'] : false; $settings = isset($variables['field']->options['settings']) ? $variables['field']->options['settings'] : false;
if ($settings && isset($settings['link_to_entity']) && $settings['link_to_entity']) { if ($settings && isset($settings['link_to_entity']) && $settings['link_to_entity']) {
// get the entity and build the classes // get the entity and build the classes
$entity = $variables['row']->_entity; $entity = $variables['row']->_entity;
// $entity_type = $entity->getEntityType();
if ($entity->getEntityType()->id() == "node" && $entity->id() == 5) {
// temporarely desactivate popsumonde link
// get the entity link and url
$link = $entity->toLink();
// build new classes // // $url = $entity->toLink()->getUrl();
$new_classes = array( // $url = URL::fromUserInput('#');
$entity->getEntityTypeId(), // // update the url of the link
$entity->getEntityTypeId().'-'.$entity->bundle(), // $link->setUrl($url);
$entity->getEntityTypeId().'-'.$entity->bundle().'-'.$entity->id(),
);
// overwrite the output
$variables['output'] = [
'#type' => 'html_tag',
'#tag' => 'span',
'#value' => $link->getText(),
'#attributes' => [
"class" => array(
$entity->getEntityTypeId(),
$entity->getEntityTypeId().'-'.$entity->bundle(),
$entity->getEntityTypeId().'-'.$entity->bundle().'-'.$entity->id(),
)
]
];
// get the entity link and url
$link = $entity->toLink();
$url = $entity->toLink()->getUrl();
// set the active_class option to the url
$url->setOption('set_active_class', true);
// add new classes to the url (without overwriting existing once)
$options = $url->getOptions();
if(isset($options['attributes']) && $attributes = $options['attributes']){
if(isset($attributes['class']) && $classes = $attributes['class']){
$attributes['class'] += $new_classes;
}else{
$attributes['class'] = $new_classes;
}
}else{ }else{
$attributes = array( // build new classes
"class" => $new_classes $new_classes = array(
$entity->getEntityTypeId(),
$entity->getEntityTypeId().'-'.$entity->bundle(),
$entity->getEntityTypeId().'-'.$entity->bundle().'-'.$entity->id(),
); );
// get the entity link and url
$link = $entity->toLink();
$url = $entity->toLink()->getUrl();
// set the active_class option to the url
$url->setOption('set_active_class', true);
// add new classes to the url (without overwriting existing once)
$options = $url->getOptions();
if(isset($options['attributes']) && $attributes = $options['attributes']){
if(isset($attributes['class']) && $classes = $attributes['class']){
$attributes['class'] += $new_classes;
}else{
$attributes['class'] = $new_classes;
}
}else{
$attributes = array(
"class" => $new_classes
);
}
$url->setOption('attributes', $attributes);
// update the url of the link
$link->setUrl($url);
// overwrite the output
$variables['output'] = $link->toRenderable();
} }
$url->setOption('attributes', $attributes);
// update the url of the link
$link->setUrl($url);
// overwrite the output
$variables['output'] = $link->toRenderable();
} }
} }

View File

@ -180,7 +180,7 @@
text-align: center; text-align: center;
display: inline-block; display: inline-block;
width: auto; width: auto;
a{ a, span{
text-transform: uppercase; text-transform: uppercase;
text-decoration: none; text-decoration: none;
font-weight: 600; font-weight: 600;