zpBootstrap Version 2.1 print Image description

Ierdna Member
edited March 2018 in Themes

Hi,

I use zpBootstrap Version 2.1 with isotope jQuery plugin enabled.
Is it possible to print also the image description under the image title?

Zenphoto-Version 1.4.14

Thank you!
Ierdna

Comments

  • vincent3569 Member, Translator
    edited March 2018

    hi
    it is not possible for now.
    I will consider it, but it seems to not look very nice.
    maybe an "on over" display of titles will be better.
    stay tuned...

  • Thank you Vincent.

  • Hi Vincent,

    I found a way to show image description under the image.
    File to edit: album_isotope.php
    I added <?php echo getBareImageDesc(); ?> in the following line.

    <

    div class="isotope-item image-item<?php echo $class; ?>">
    " title="<?php echo getBareImageTitle(); ?><?php echo getBareImageDesc(); ?>" data-fancybox="images">

    Regards,
    Ierdna

  • vincent3569 Member, Translator

    yes of course, I know how to do.
    maybe I'm wrong, but I think the result may not have a very good "look and feel"

  • wibbi Member
    edited March 2018

    You can extend the PHP code. All PHP is allowed.

    <?php echo "<br>" . getBareImageDesc(); ?>

    EDIT: OK, it's a conflict with HTML code about the < and >.

    Is that also possible?

    <?php echo '<div class="whatever" style="font-size:1em;">' . getBareImageDesc() . ''; ?>

    Then you can style it.
    EDIT: OK, it's a conflict with HTML code about the < and >.

    I prefer this for the descriptions.

    <?php echo nl2br(getImageDesc()); ?>

    This will take over the descriptions 1:1 from the editor. There are no <br> necessary. Line breaks are automatically converted to <br>. This makes writing the descriptions easier. In addition, HTML code is still possible, also <br>.

    But, unfortunately, every HTML tag with < and > causes problems with the method of grabbing the text from the HTML img tag title. A better method would be the description in a div box with display:none to write and extract from it with JavaScript.

  • wibbi Member
    edited March 2018

    @lerdna
    Solution: use htmlspecialchars(). It's more secure. Don't destroy the HTML validation.

    <?php echo htmlspecialchars(getBareImageDesc()); ?>

    or

    <?php echo htmlspecialchars(strip_tags(getBareImageDesc())); ?>

    However, you can then use no HTML code in the description, because every HTML code is striped / converted.

    Look here for more Info:
    http://php.net/manual/en/function.htmlspecialchars.php
    http://php.net/manual/en/function.strip-tags.php

  • acrylian Administrator, Developer

    Zenphoto actually has some internal functions for output encoding of text fields like that does not destroy html:
    http://docs.zenphoto.org/function-html_encode.html

    There are also some sanitize functions for sensitive data.

    Also all bare functions already clear html by definition (to be use for example within attributes of html elements). No need to strip tags again actually. htmlspecialchars of course can make sense if you need to be sure that special chars work in your encoding used.

  • Thank you wibbi. after checking some descriptions I found out some truncated.
    I use this:
    <?php echo htmlspecialchars(strip_tags(getBareImageDesc())); ?> and now is fine.

  • wibbi Member

    @lerdna, use it also for the title and all is valid and secure.

    When you don't write HTML code like a link <a href=""> in your title and description, you can remove the strip_tags().

    <?php echo htmlspecialchars(getBareImageTitle()); ?>
    <?php echo htmlspecialchars(getBareImageDesc()); ?>

Sign In or Register to comment.