when copying and pasting images in tinymce (in wordpress) the url of the image loses its prefix. is there some way to fix this. I am using wordpress mu 2.9.2 and tinymce advanced.
Here is the solution:
from: http://nerdee.blogspot.com/2009/02/tinymce-relative-path-img-problem.html
TinyMCE relative path IMG problem
I've been using TinyMCE as a WYSIWYG editor on my website www.puppages.com. I absolutely LOVE it. There was one issue that was a little frustrating. When someone tried to link back to another page on the site (or an image/document on the site), the TinyMCE code would convert the absolute path into a relative path and the relative path would not work. I was able to fix this by doign some javascript editing.
Here's the solution:
Open the tiny_mce.js file.
Find all references to the function: toRelative(u)
replace with return u
save
Related
I am using absolute paths for images on a WordPress site (currently in dev) but when the page loads the images are missing.
Here is an example:
<img src="/images/img_tonsmeire-properties.png" alt="tonismere" >
The only thing I can think that may be causing this is that the dev environment that I am creating this in is not at the root of the parent site. The URL for this is is:
http://opteracreative.com/~baybr/
What is the correct way to reference the images?
Thanks.
The problem was with the path. I had to add /~baybr/ in front of the image path and it worked.
I'm developing a site locally using xampp. The path the images are using is
/devsite/sites/default/files/icon_facebook.jpg
When I check out of the site on my server the path remains the same for the images, even though the image is now at
/~devsite/sites/default/files/icon_facebook.jpg
Are the image URLs just hard-coded by the wysiwyg including the wrong base path? Is there something I can do to make them work?
When you're using wysiwyg, the image path is saved along with the rest of the HTML, and the filters don't convert it. So under some conditions - especially if you're moving from a subdirectory to the HTML root - you'll have images that are misplaced.
The pathologic module might be of some help here. Otherwise you could use Views Bulk Operations to do a string_replace() operation your HTML fields.
Try setting the $base_url in sites/default/settings.php. I'm not sure how the WYSIWYG is setting images, but it's pretty standard that it should be using a path relative to the base url.
I've added some html code in my Blocks content and enabled Full HTML filter.
I've used relative paths for my images, such as "sites/all/themes/zen/zen/image.png"
I guess this is not correct because I need to change my paths depending on I'm in the home page or "node/id" page.
I guess I cannot use PHP inside blocks, thus I cannot use $base_url... how can add images path with only html ?
thanks
The previous answers provide a part of the solution, but here's a fuller scoop:
Hand-written HTML
If your site lives at example.com (i.e. it's the "root" site), then adding a front slash to your relative path will solve the issue, as others have suggested:
<img src="/sites/all/themes/zen/zen/image.png">
However, if your site lives at example.com/my-drupal-site, then you'll need to write it like this:
<img src="/my-drupal-site/sites/all/themes/zen/zen/image.png">
It really is better if you can use PHP to determine the appropriate path. If you're calling an image from a theme, you can use the Drupal function drupal_get_path to get the path like this:
$img_path = drupal_get_path('theme', 'zen') . '/zen/image.png';
And then you could be really Drupaly about it and use the theme_image function to generate the HTML for the image:
$img = theme('image', $img_path, 'My Image - Alt Text', 'My Image - Title Text');
Where $img now holds the HTML for the <img> tag and its src, alt, and title attributes. See the API documentation for drupal_get_path and theme_image for more information.
Point-and-click Solution
As jeffreymb points out, your easiest bet is to use a combination of a WYSIWYG editor and a built-in file handling module called IMCE to gloss over all these details for you. If you don't have access to the "PHP code" input format, this is the best solution.
So, steps:
Install the WYSIWYG module, as well as a WYSIWYG editor (I suggest CKEditor).
Install the IMCE module and IMCE WYSIWYG Bridge module, and enable the IMCE button for your WYSIWYG editor in its configuration settings for available Buttons.
See this post for a little more detail on that setup process, and make sure to read the documentation that the WYSIWYG module displays on its configuration page.
Once you have IMCE installed and integrated with your WYSIWYG, when you click the "Image" button in your WYSIWYG toolbar, your normal dialog should appear but with a new little icon to open the IMCE file browser. This file browser allows you to browse your files folder for images or to upload new files. It also supports a modicum of image manipulation, and will automatically generate the necessary HTML once you've selected an image.
I would recommend using the Pathologic module for this case. It is a filter that you can add to your input formats to convert relative URLs like that into proper URLs using your site's base URL. Plus it's useful if you have images in your RSS content as sites that re-publish the content (like feed aggregators, etc.) have the link to the full URL.
I use the CKeditor and IMCE modules to do this on my sites.
It is very user friendly and not that hard to set up.
Instead of the relative path, use the absolute path. So it'd be:
<img src="/sites/all/themes/zen/zen/image.png">
Note the slash at the beginning. The slash should be the only thing you need to do to convert your existing relative paths to absolute ones for use in straight HTML.
If you start your image paths with a slash ("/sites/all/themes/zen/zen/image.png") this will always be relative to your drupal root directory.
You could also simply select "PHP code" as the Input format, and use $base_url as you say.
I does this with cck blocks . The cck blocks is drupal module,it can put drupal fields into blocks
I'm having a problem whit this website i'm building - www.bodyheat.uk.com .
The first page (home) appears as i "wrote" in the css, but in the other ones the webpage it seems that the webpage cant call the css.
Anyone can help me on that?
TRICAT answered this
"You must have the base of your urls in the pages wrong because the css and js are using a relative url including the name of the page..
/joomla/index.php/templates/system/css/system.css
And obviously it should be:
/joomla/templates/system/css/system.css
The www.bodyheat.uk.com works because it doesn't have a page name behind the url."
But where I can change it? In what file? configuration? I saw what you said but dont know where to go to change it :(
THANKS ALL!!
You must have the base of your urls in the pages wrong because the css and js are using a relative url including the name of the page..
/joomla/index.php/templates/system/css/system.css
And obviously it should be:
/joomla/templates/system/css/system.css
The www.bodyheat.uk.com works because it doesn't have a page name behind the url.
I had this problem as well when I was creating a custom template. In the Global configurations, under SEO Settings, I turned OFF 'Search Engine Friendly URLs'. This fixed my problem.
Thanks!
On certain pages drupal_get_path isn't working correctly (or it is and I've got the wrong function)
The base path is wrong
Example:
Image is supposed to be at
http://domain.com/sites/all/modules/pecapture/images/headline_dontmissout.jpg
But when on
http://domain.com/node/9
The URL is
http://domain.com/node/sites/all/modules/pecapture/images/headline_dontmissout.jpg
The same happens on the page
http://domain.com/admin/build/ and block edit page
How do I get the right path?
added base_path() to beginning of my paths...
base_path (http://api.drupal.org/api/base_path), if you use php code.
In html case, just add "/", like: /sites/all/modules/pecapture/images/headline_dontmissout.jpg
One problem: if you work on subfolder (Drupal installed in internal folder of main site): http://domain.com/subfoldersite, it will not correct, becase will remove "subfoldersite".