Skip to content
Snippets Groups Projects

3484627

Merged Will Eaton requested to merge issue/mosaicformatter-3484627:3484627 into 8.x-1.0
2 files
+ 48
42
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -317,62 +317,65 @@ public static function exploreobject($object,$array=true,$depth=0) {
*/
public function viewElements(FieldItemListInterface $items, $langcode) {
$settings = $this->getSettings();
$cache_tags[]="node:".$items->getEntity()->id();
$cache_tags[] = "node:" . $items->getEntity()->id();
//$files = $this->getEntitiesToView($items, $langcode);
if (strlen($settings['image_style'])>0 && isset($settings['image_style'])) {
$style = $this->imageStyleStorage->load($settings['image_style']);
$cache_tags = $style->getCacheTags();
if (strlen($settings['image_style']) > 0 && isset($settings['image_style'])) {
$style = $this->imageStyleStorage->load($settings['image_style']);
$cache_tags = $style->getCacheTags();
}
$elements['#theme']='mosaicformatter';
$elements['#field_name']=$items->getName();
$defaultsettings=$this->defaultSettings();
$settingstosend=[];
foreach($settings as $settingname=>$value) {
if ($defaultsettings[$settingname]!=$value && $value!="" && $settingname!="image_style") {
$settingstosend[$settingname]=$value;
}
$elements['#theme'] = 'mosaicformatter';
$elements['#field_name'] = $items->getName();
$defaultsettings = $this->defaultSettings();
$settingstosend = [];
foreach ($settings as $settingname => $value) {
if ($defaultsettings[$settingname] != $value && $value != "" && $settingname != "image_style") {
$settingstosend[$settingname] = $value;
}
}
$elements['#style_name']=$settings['image_style'];
$elements['#style_name'] = $settings['image_style'];
$elements['#settings'] = json_encode($settingstosend);
foreach ($items as $delta => $item) {
$img=$item->getValue();
$file=$this->entityTypeManager->getStorage('file')->load($img["target_id"]);
$cache_tags = Cache::mergeTags($cache_tags, $file->getCacheTags());
$url = \Drupal::service('file_url_generator')->generate($file->getFileUri())->toUriString();
if ($style!==NULL) {
$styleddestination = $style->buildUri($url);
if (!file_exists($styleddestination)) {
$style->createDerivative($url, $styleddestination);
}
$url=$style->buildUrl($url);
$imgdims=getimagesize($url);
if ($imgdims !== false) {
$img["width"]=$imgdims[0];
$img["height"]=$imgdims[1];
}
$img = $item->getValue();
$file = $this->entityTypeManager->getStorage('file')
->load($img["target_id"]);
$cache_tags = Cache::mergeTags($cache_tags, $file->getCacheTags());
$urlBase = \Drupal::service('file_url_generator')
->generate($file->getFileUri())
->toUriString();
$url = Url::fromUri(
$urlBase, ['absolute' => TRUE]
)->toString();
if ($style !== NULL) {
$url = $style->buildUrl($file->getFileUri());
$imgdims = getimagesize($url);
if ($imgdims !== FALSE) {
$img["width"] = $imgdims[0];
$img["height"] = $imgdims[1];
}
$url=\Drupal::service('file_url_generator')->transformRelative($url);
}
$url = \Drupal::service('file_url_generator')->transformRelative($url);
$elements['#items'][$delta] = [
'uri'=> $url,
'width'=>$img["width"],
'height'=>$img["height"],
$elements['#items'][$delta] = [
'uri' => $url,
'width' => $img["width"],
'height' => $img["height"],
'alt' => $img["alt"],
'title'=> $img["title"],
'title' => $img["title"],
];
}
$elements['#cache']=[
'tags' => $cache_tags,
];
$elements['#cache'] = [
'tags' => $cache_tags,
];
$elements["#attached"]=[
'library' => [
'mosaicformatter/mosaic',
],
$elements["#attached"] = [
'library' => [
'mosaicformatter/mosaic',
],
];
return $elements;
}
Loading