disciplearea/disciplearea.module
2023-12-14 11:23:40 -06:00

32 lines
874 B
Plaintext

<?php
use Drupal\Core\Entity\EntityInterface;
use Drupal\Component\Utility\Html;
/**
* Implements hook_ENTITY_TYPE_presave().
*/
function disciplearea_node_presave(EntityInterface $node) {
if (($node->getType() == 'blog_post') && ($node->isNew())) {
$value = \Drupal::request()->query->get('cid');
$value = Html::escape($value);
$node->set('field_community', $value);
}
}
// In NEWS FOR THIS PLACE, we needed to combine Posts and Events, sorted by Posts.authored_on and Events.field_when
function disciplearea_views_query_alter( $view, $query )
{
switch ( $view -> id() )
{
case 'masonry':
$query -> orderby = [];
$query -> addOrderBy( NULL, "CASE node_field_data.type WHEN 'event' THEN node__field_when.field_when_value ELSE node_field_data.created END", 'DESC', 'order_field' );
break;
}
}