Difference between revisions of "Add text to an article using template overrides"
From Joomla! Documentation
Dextercowley (talk | contribs) (new tip on adding text automatically when editing in the front end) |
(Removing review from outdated page now in namespace) |
||
(8 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | + | Automatically add text to an article in Joomla! If you want to add standard text ("This text has been added automatically by Joomla!") to the end of each article that is submitted from the front end, follow these steps: | |
− | + | ||
− | # Create a template override for the file < | + | # Create a template override for the file <tt><joomla_root>/components/com_content/views/article/tmpl/form.php</tt>. |
− | #* Create a folder called < | + | #* Create a folder called <tt><joomla_root>/templates/<your template>/html/com_content/article</tt>.<br>For the "beez" template, this folder is called <tt><joomla_root>/templates/beez/html/com_content/article</tt>. |
− | #* Copy the standard < | + | #* Copy the standard <tt>form.php</tt> file from the components folder above to the templates folder.<br>Note: If you already have a form.php file in this folder, don't copy the file. Just edit it as indicated below. |
# Edit the copy of the file you made in the override folder as follows. Find the line <source lang="javascript"> | # Edit the copy of the file you made in the override folder as follows. Find the line <source lang="javascript"> | ||
− | var text = <?php echo $this->editor->getContent( 'text' ); ?></source> This is line 49 in the 1.5.8 version of this file. Change this to the following: | + | var text = <?php echo $this->editor->getContent( 'text' ); ?></source> This is line 49 in the 1.5.8 version of this file. Change this to the following: <source lang="javascript"> |
− | <source lang="javascript"> | ||
var text = <?php | var text = <?php | ||
$addToText = '<p>Joomla! automatically added this text.</p>'; | $addToText = '<p>Joomla! automatically added this text.</p>'; | ||
− | if (strpos($this->article->text, $addToText) == | + | if (strpos($this->article->text, $addToText) === false) { |
$this->article->text .= $addToText; | $this->article->text .= $addToText; | ||
} | } | ||
− | echo $this->editor->getContent( 'text' ); ?> </source> This is checking that the text to be added is not already in the article. If it is not, then it is added to the article. | + | echo $this->editor->getContent( 'text' ); ?> </source> This is checking that the text to be added is not already in the article. If it is not, then it is added to the article. |
+ | Don't forget to change the text in the variable <code>$addToText</code> to whatever you need. | ||
That's it. Now, when you edit an article from the front end, this text will automatically be added. Note that this change does not affect editing from the back end. Also, since this is done as a template override, it only affects pages that use the overridden template. | That's it. Now, when you edit an article from the front end, this text will automatically be added. Note that this change does not affect editing from the back end. Also, since this is done as a template override, it only affects pages that use the overridden template. | ||
Line 20: | Line 20: | ||
[[Category:Tips and tricks]] | [[Category:Tips and tricks]] | ||
[[Category:Tips and tricks 1.5]] | [[Category:Tips and tricks 1.5]] | ||
+ | [[Category:Article Management]] | ||
+ | [[Category:Templates]] | ||
+ | [[Category:Template Development]] | ||
+ | [[Category:Tutorials]] |
Latest revision as of 17:03, 30 March 2020
The "J1.5" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
Automatically add text to an article in Joomla! If you want to add standard text ("This text has been added automatically by Joomla!") to the end of each article that is submitted from the front end, follow these steps:
- Create a template override for the file <joomla_root>/components/com_content/views/article/tmpl/form.php.
- Create a folder called <joomla_root>/templates/<your template>/html/com_content/article.
For the "beez" template, this folder is called <joomla_root>/templates/beez/html/com_content/article. - Copy the standard form.php file from the components folder above to the templates folder.
Note: If you already have a form.php file in this folder, don't copy the file. Just edit it as indicated below.
- Create a folder called <joomla_root>/templates/<your template>/html/com_content/article.
- Edit the copy of the file you made in the override folder as follows. Find the line This is line 49 in the 1.5.8 version of this file. Change this to the following:
var text = <?php echo $this->editor->getContent( 'text' ); ?>
This is checking that the text to be added is not already in the article. If it is not, then it is added to the article.var text = <?php $addToText = '<p>Joomla! automatically added this text.</p>'; if (strpos($this->article->text, $addToText) === false) { $this->article->text .= $addToText; } echo $this->editor->getContent( 'text' ); ?>
Don't forget to change the text in the variable $addToText
to whatever you need.
That's it. Now, when you edit an article from the front end, this text will automatically be added. Note that this change does not affect editing from the back end. Also, since this is done as a template override, it only affects pages that use the overridden template.
For more information on template overrides, see the tip How to override the output from the Joomla! core.