1

I use the Fields component and I have a field "Media". You can choose an image this way. But this spits out a full tag. This should be no problem but in my case I need it to be a full absolute url instead of relative. Does someone know how to achieve this or should I just use a regex to change the url myself?

2
  • 1. Fields can either be used via the automatic display or used manually in a template override. Which one are you talking about? 2. Why do you want your img's src attribute to have a domain in it? Jul 24 '20 at 0:10
  • 1. The problem is that when I use the media field it generates an <img src=..... tag.. 2. I want to output HTML and use that in another way
    – Huub S
    Jul 27 '20 at 12:37
2

I think you are looking for the rawvalue property of the field object

/* Rearrange Fields for use */
foreach($this->item->jcfields as $jcfield){
    $this->item->jcFields[$jcfield->name] = $jcfield;
}

$absolute_path_to_image = JUri::base() . $this->item->jcFields['your-field-name']->rawvalue;
0
0

You would need to override the core functionality. Or simply, in your template(s) where you output your images, you could just use:

<?php echo JUri::base() . $yourimagevariable;?>

Which will generate:

https://yourdomain.com/images/yourimage.jpg
3
  • Where can I find htis? I now use a regex...
    – Huub S
    Jul 27 '20 at 12:36
  • @HuubS that entirely depends where and how you are using the image in your templates, if that is what you are doing. If you set your Field to Automatic Display: Do not automatically display then you can access it in your template instead, to produce the desired effect as per above. In an article layout, you would access the raw image path from the $this->item->jcfields object.
    – Grant G
    Jul 27 '20 at 13:07
  • The problem is that the media field automatically generates a full <img tag.. it's not only spitting out the url only.. I don't use automatic display, I always get the fields like this: $this->item->jcfields
    – Huub S
    Jul 27 '20 at 14:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.