- Posts: 15
COMMUNITY FORUM
Icon when when an article has been updated
- Aniron79
-
Topic Author
- Offline
- New Member
Thanks
Please Log in or Create an account to join the conversation.
- JoomlaWorks
-
- Offline
- Admin
- Posts: 6227
<?php $updated = ($this->item->modified) ? true : false; ?>
Then check for $updated and attach an extra CSS class or message next to the item title.
Please Log in or Create an account to join the conversation.
- Aniron79
-
Topic Author
- Offline
- New Member
- Posts: 15
Please Log in or Create an account to join the conversation.
- JoomlaWorks
-
- Offline
- Admin
- Posts: 6227
See here: getk2.org/documentation/tutorials/174-templating-with-k2-and-the-concepts-of-sub-templates
You'll then need to edit item.php and category_item.php for component views and mod_k2_content's default.php for module views.
Please Log in or Create an account to join the conversation.
- Aniron79
-
Topic Author
- Offline
- New Member
- Posts: 15
Please Log in or Create an account to join the conversation.
- JoomlaWorks
-
- Offline
- Admin
- Posts: 6227
Please Log in or Create an account to join the conversation.
- Chris Hogan
-
- Offline
- Premium Member
- Posts: 80
Also, where can I write the words 'Updated News' in the code as well??
Any help will be great!
Please Log in or Create an account to join the conversation.
- JoomlaWorks
-
- Offline
- Admin
- Posts: 6227
If you choose item.php for example, you place the code wherever you like. Something like:
<?php $updated = ($this->item->modified) ? true : false; ?>
<?php if ($updated): ?>
<b>The article was recently updated!</b>
<?php endif; ?>
Please Log in or Create an account to join the conversation.
- Chris Hogan
-
- Offline
- Premium Member
- Posts: 80
I just need to figure out how to have it appear for only recently modified items (within the past 2 weeks or so)
As per my other post, I read through the post about 'Publishing date in item and category listings' you mentioned and believe I need something like this below?
<?php echo JHTML::_('date', $this->item->modified, JText::_('K2_DATE_FORMAT_LC2')); ?>
Please Log in or Create an account to join the conversation.
- JoomlaWorks
-
- Offline
- Admin
- Posts: 6227
Please Log in or Create an account to join the conversation.
- Chris Hogan
-
- Offline
- Premium Member
- Posts: 80
Step 1: "You need to convert the modified date to a unix timestamp" (using e.g. strtotime($this->item->modified)) where do I need to do this?
Please Log in or Create an account to join the conversation.
- JoomlaWorks
-
- Offline
- Admin
- Posts: 6227
<?php
// First check if the item was modified/updated at all
$isUpdated = ($this->item->modified) ? true : false;
if ($isUpdated) {
// The item is recently updated, so get it's modified date and convert to a unix timestamp
$dateModified = strtotime($this->item->modified);
// Get the current time as a unix timestamp
$now = time();
// Calculate the difference in days
$diff = ($now - $dateModified)/(3600 * 24);
// Check if the difference is less than 2 days & output some message
if ($diff < 2) {
echo '<span>Item was recently updated!</span>';
}
}
?>
Use that in your own item.php template override.
Learn how to copy K2 source template overrides into your Joomla template by reading this: getk2.org/documentation/tutorials/174-templating-with-k2-and-the-concepts-of-sub-templates
Please Log in or Create an account to join the conversation.
- Chris Hogan
-
- Offline
- Premium Member
- Posts: 80
This code will ideally go on my category item.php but I've tried to add the above to both item & category php files in nearly every position on each page to no aval, plus I also used the standard K2 files with just this code added...again it didn't seem to appear anywhere??
Is there something I still need to add to this or is there an option I need to apply in Joomla/K2 backend even though its hard coded?
Please Log in or Create an account to join the conversation.
- JoomlaWorks
-
- Offline
- Admin
- Posts: 6227
Please Log in or Create an account to join the conversation.
- Chris Hogan
-
- Offline
- Premium Member
- Posts: 80
But its all ok now & it is showing great, I just completely rushed the testing in my haste to see the code working...
I've actually added it to the 'Featured flag' area (see attached) on my category pages and removed the <?php echo JText::_('K2_FEATURED'); ?> as words 'Featured' were literally displaying on every item & didn't it really stand out at all on my Category pages anyway.
But I'm really happy with this though, and I'm sure it will be useful to others (as not all items added to sites can be brand new stories every time) so giving the user a clue if you've modified on an old item is a really good feature!
Just one final thing though on the Homepage; which file am I to upload for this to display there...is it just the category.php??
Please Log in or Create an account to join the conversation.
- JoomlaWorks
-
- Offline
- Admin
- Posts: 6227
Please Log in or Create an account to join the conversation.
- Chris Hogan
-
- Offline
- Premium Member
- Posts: 80
<code>
<?php if($this->item->params->get('catItemFeaturedNotice') && $this->item->featured): ?>
<!-- Featured flag -->
<span>
<sup>
<?php
// First check if the item was modified/updated at all
$isUpdated = ($this->item->modified) ? true : false;
if ($isUpdated) {
// The item is recently updated, so get it's modified date and convert to a unix timestamp
$dateModified = strtotime($this->item->modified);
// Get the current time as a unix timestamp
$now = time();
// Calculate the difference in days
$diff = ($now - $dateModified)/(3600 * 24);
// Check if the difference is less than 2 days & output some message
if ($diff < 14) {
echo '<span>Recently Updated!</span>';
}
}
?>
</sup>
</span>
<?php endif; ?>
</h3>
<?php endif; ?>
</code>
Please Log in or Create an account to join the conversation.
- Chris Hogan
-
- Offline
- Premium Member
- Posts: 80
<?php if($this->item->params->get('catItemFeaturedNotice') && $this->item->featured): ?>
<!-- Featured flag -->
<span>
<sup>
<?php
// First check if the item was modified/updated at all
$isUpdated = ($this->item->modified) ? true : false;
if ($isUpdated) {
// The item is recently updated, so get it's modified date and convert to a unix timestamp
$dateModified = strtotime($this->item->modified);
// Get the current time as a unix timestamp
$now = time();
// Calculate the difference in days
$diff = ($now - $dateModified)/(3600 * 24);
// Check if the difference is less than 2 days & output some message
if ($diff < 14) {
echo '<span>Recently Updated!</span>';
}
}
?>
</sup>
</span>
<?php endif; ?>
</h3>
<?php endif; ?>
Please Log in or Create an account to join the conversation.
- JoomlaWorks
-
- Offline
- Admin
- Posts: 6227
Please Log in or Create an account to join the conversation.
- Chris Hogan
-
- Offline
- Premium Member
- Posts: 80
ALL IS WORKING OK NOW! BRILLANT FEATURE THIS LOVE IT!
Please Log in or Create an account to join the conversation.