Как перенести описание строго под изображение при наличии плагина?

  • 16 Ответов
  • 802 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн xxx87

  • ***
  • 130
  • [+]4 / [-]0
  • прошу любить и жаловать
    • Просмотр профиля
Всем привет! Маюсь несколько дней этим вопросом.
Осваиваю инет-магазин. Установила плагин от нашего, всеми любимого, nevigen - список атрибутов. Добавила атрибуты. И здесь меня ждал подвох... Вывод большого кол-ва атрибутов ( 12 ) таблицей "наградил" карточку товара длинным хвостом.
пытаюсь немного скрасить всю картину путем правки CSS. Перенесла название товара влево над фото. "Хвост" из атрибутов немного поднялся вверх.
Еще хочу перенести описание товара вверх под фотографию товара, что бы хоть как-то скрасить эту пустоту. но мои попытки перенести код description непосредственно под image_middle не приносят плодов и только смещают плагин "список атрибутов" ниже. Можно ли всетаки как-нибудь реализовать перенос описания под фото? У меня что-то идей уже совсем не осталось :((
Ссылка на карточку товара http://akvagrunt.ru/shop/standart
Код файла product_default.php [spoiler]<?php
/**
 * @version      4.3.1 13.08.2013
 * @author       MAXXmarketing GmbH
 * @package      Jshopping
 * @copyright    Copyright (C) 2010 webdesigner-profi.de. All rights reserved.
 * @license      GNU/GPL
 */
defined('_JEXEC') or die('Restricted access');
$numberlimit 3;
?>

<?php
$product 
$this->product;
?>

<?php include(dirname(__FILE__)."/load.js.php");?>
<div class="zt_jshop">
<form name="product" method="post" action="<?php print $this->action?>" enctype="multipart/form-data" autocomplete="off">

<div class="zt_jshop_information_detail row">
    <div class="zt_jshop_image col-sm-5">
<h1><?php print $this->product->name?><?php if ($this->config->show_product_code){?> <?php }?></h1>
            <?php include(dirname(__FILE__)."/ratingandhits.php");?>
            <?php print $this->_tmp_product_html_start;?>

        <div class="image_middle">
            <?php print $this->_tmp_product_html_before_image;?>
            <?php if ($product->label_id){?>
                <div class="product_label <?php print $product->_label_name;?>"><?php print $product->_label_name;?></div>
            <?php }?>
            <?php if (count($this->videos)){?>
                <?php foreach($this->videos as $k=>$video){?>
                    <?php if ($video->video_code){ ?>
                        <div style="display:none" class="video_full" id="hide_video_<?php print $k?>"><?php echo $video->video_code?></div>
                    <?php } else { ?>
                        <a style="display:none" class="video_full" id="hide_video_<?php print $k?>" href=""></a>
                    <?php ?>
                <?php ?>
            <?php }?>


            <div id='list_product_image_middle'>
            <?php if(!count($this->images)){?>
                <img id = "main_image" src = "<?php print $this->image_product_path?>/<?php print $this->noimage?>" alt = "<?php print htmlspecialchars($this->product->name)?>" />
            <?php }?>
                <?php foreach($this->images as $k=>$image){?>
                    <a class="lightbox" id="main_image_full_<?php print $image->image_id?>" href="<?php print $this->image_product_path?>/<?php print $image->image_full;?>" <?php if ($k!=0){?>style="display:none"<?php }?>>
                        <img id = "main_image_<?php print $image->image_id?>" src = "<?php print $this->image_product_path?>/<?php print $image->image_name;?>" alt="<?php print htmlspecialchars($image->_title)?>" title="<?php print htmlspecialchars($image->_title)?>" />
                    </a>
                <?php }?>
            </div>
            <?php print $this->_tmp_product_html_after_image;?>
        </div>
        <div class="jshop_img_description">

            <div class="zt-carousel">
                <div class="jCarouselLite">
                    <ul>
                        <?php print $this->_tmp_product_html_before_image_thumb;?>
                        <?php if ( (count($this->images)>1) || (count($this->videos) && count($this->images)) ) {?>
                            <?php foreach($this->images as $k=>$image){?>
                                <li  style="border: 1px solid #E5E5E5;"><img class="jshop_img_thumb" src="<?php print $this->image_product_path?>/<?php print $image->image_thumb?>" alt="<?php print htmlspecialchars($image->_title)?>" title="<?php print htmlspecialchars($image->_title)?>" onclick="showImage(<?php print $image->image_id?>)" /></li>
                            <?php }?>
                        <?php }?>
                    </ul>
                </div>

                <?php if(count($this->images) > $numberlimit){?>
                    <div class="nav_button">
                        <div class="prev"><i class="fa fa-angle-left"></i></div>
                        <div class="next"><i class="fa fa-angle-right"></i></div>
                    </div>
                <?php }?>
            </div>
            <script type="text/javascript">
                jQuery(document).ready(function($) {
                    <?php if( (count($this->images))){ ?>
                    $(".jCarouselLite").jCarouselLite({
                        btnPrev: ".zt-carousel .prev",
                        btnNext: ".zt-carousel .next",
                        slideWidth: 80,
                        visible: <?php echo $numberlimit;?>
                    });
                    <?php ?>
                });
            </script>
            <?php print $this->_tmp_product_html_after_image_thumb;?>
            <?php if (count($this->videos)){?>
                <?php foreach($this->videos as $k=>$video){?>
                    <?php if ($video->video_code) { ?>
                        <a href="#" id="video_<?php print $k?>" onclick="showVideoCode(this.id);return false;"><img class="jshop_video_thumb" src="<?php print $this->video_image_preview_path."/"; if ($video->video_preview) print $video->video_preview; else print 'video.gif'?>" alt="video" /></a>
                    <?php } else { ?>
                        <a href="<?php print $this->video_product_path?>/<?php print $video->video_name?>" id="video_<?php print $k?>" onclick="showVideo(this.id, '<?php print $this->config->video_product_width;?>', '<?php print $this->config->video_product_height;?>'); return false;"><img class="jshop_video_thumb" src="<?php print $this->video_image_preview_path."/"; if ($video->video_preview) print $video->video_preview; else print 'video.gif'?>" alt="video" /></a>
                    <?php ?>
                <?php ?>
            <?php }?>
            <?php print $this->_tmp_product_html_after_video;?>
        </div>
    </div>

    <div class="zt_jshop_short_description col-sm-7 col-xs-12">
        <div class="clearfix">
            <?php if ($this->config->display_button_print) print printContent();?>
        </div>
        <div class="zt_price_detail">
            <?php if($this->product->product_old_price || $this->product->_display_price ): ?>
                <div class="zt_price_detail_inner">
                    <?php if ($this->product->product_old_price 0){?>
                        <span class="old_price" id="old_price"><?php print formatprice($this->product->product_old_price)?></span>
                    <?php }?>
                    <?php if ($this->product->_display_price){?>
                        <span id="block_price"><?php print formatprice($this->product->getPriceCalculate())?><?php print $this->product->_tmp_var_price_ext;?></span>
                    <?php ?>
                </div>
            <?php endif;  ?>

            <?php if ($this->product->product_price_default && $this->config->product_list_show_price_default){?>
                <div class="default_price"><?php print _JSHOP_DEFAULT_PRICE?>: <span id="pricedefault"><?php print formatprice($this->product->product_price_default)?></span></div>
            <?php }?>

            <?php print $this->product->_tmp_var_bottom_price;?>

            <?php if ($this->config->show_tax_in_product && $this->product->product_tax 0){?>
                <span class="taxinfo"><?php print productTaxInfo($this->product->product_tax);?></span>
            <?php }?>
            <?php if ($this->config->show_plus_shipping_in_product){?>
                <span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING$this->shippinginfo);?></span>
            <?php }?>

            <?php if ($this->config->product_show_qty_stock){?>
                <div class="qty_in_stock"><?php print _JSHOP_QTY_IN_STOCK?>: <span id="product_qty"><?php print sprintQtyInStock($this->product->qty_in_stock);?></span></div>
            <?php }?>

            <?php if (!$this->config->hide_text_product_not_available && $this->available != null ){ ?>
                <div class = "not_available" id="not_available"><?php print $this->available?></div>
            <?php }?>

            <?php if ($this->product->product_basic_price_show){?>
                <div class="prod_base_price"><?php print _JSHOP_BASIC_PRICE?>: <span id="block_basic_price"><?php print formatprice($this->product->product_basic_price_calculate)?></span> / <?php print $this->product->product_basic_price_unit_name;?></div>
            <?php }?>

           
        </div>

       
       
        <?php if (count($this->attributes)){?>
            <div class="jshop_prod_attributes">
                <?php foreach($this->attributes as $attribut){?>
                    <div class="attributes">
                        <span class="attributes_title">
                            <span class="attributes_name"><?php print $attribut->attr_name?>:</span><span class="attributes_description"><?php print $attribut->attr_description;?></span>
                        </span>
                        <span class="attributes_description">
                            <span id='block_attr_sel_<?php print $attribut->attr_id?>'>
                            <?php print $attribut->selects?>
                            </span>
                        </span>
                    </div>
                <?php }?>
            </div>
        <?php }?>
        <?php print $this->_tmp_product_html_before_buttons;?>
        <?php if (!$this->hide_buy){?>
            <div class="prod_buttons" >
                <div class="zt_buttons clearfix">
                    <span class="prod_qty">Quantily:
                        <input type="text" name="quantity" id="quantity" onkeyup="reloadPrices();" class="inputbox" value="<?php print $this->default_count_product?>" /><?php print $this->_tmp_qty_unit;?>
                    </span>
                    <?php print $this->_tmp_product_html_buttons;?>
                    <button title="Add to cart" type="submit" class="button_buy buy_detail" onclick="jQuery('#to').val('cart');" >
                        <i class="fa fa-shopping-cart"></i><?php print _JSHOP_ADD_TO_CART?>
                    </button>
                    <button title="Add to wishlist" type="submit" class="button_wishlist" onclick="jQuery('#to').val('wishlist');"><i class="fa fa-heart"></i></button>
                   
                </div>
               
            </div>
        <?php }?>
        <?php print $this->_tmp_product_html_after_buttons;?>

        <div class="short_description">
            <p><?php print $this->product->short_description?></p>
        </div>

        <?php if ($this->config->product_show_manufacturer && $this->product->manufacturer_info->name!=""){?>
            <div class="manufacturer_name">
                <span class="bold"><?php print _JSHOP_MANUFACTURER?>:</span> <span><?php print $this->product->manufacturer_info->name?></span>
            </div>
        <?php }?>

        <?php if (count($this->product->freeattributes)){?>
            <div class="prod_free_attribs">
                <table class="jshop">
                    <?php foreach($this->product->freeattributes as $freeattribut){?>
                        <tr>
                            <td class="name"><span class="freeattribut_name"><?php print $freeattribut->name;?></span> <?php if ($freeattribut->required){?><span>*</span><?php }?><span class="freeattribut_description"><?php print $freeattribut->description;?></span></td>
                            <td class="field"><?php print $freeattribut->input_field;?></td>
                        </tr>
                    <?php }?>
                </table>
                <?php if ($this->product->freeattribrequire) {?>
                    <div class="requiredtext">* <?php print _JSHOP_REQUIRED?></div>
                <?php }?>
            </div>
        <?php }?>
    </div>
</div>
<input type="hidden" name="to" id='to' value="cart" />
<input type="hidden" name="product_id" id="product_id" value="<?php print $this->product->product_id?>" />
<input type="hidden" name="category_id" id="category_id" value="<?php print $this->category_id?>" />
</form>
<div id="zt_tabs" class="col-sm-5 col-xs-12">

            <ul class="tabs">
                <li class="first"><a href="#tabs-1" title="tab-1" class="active tab"><?php echo _JSHOP_DESCRIPTION ;?></a></li>
                <li><a href="#tabs-2" title="tab-2" class="tab"><?php echo JText::_("JSHOP_REVIEW"); ?></a></li>
            </ul>

            <div id="tab-1" class="content">
                <div class="zt_tab_inner">
                    <?php print $this->product->description?>
                    <?php if ($this->product->product_url!=""){?>
                        <div class="prod_url">
                            <a target="_blank" href="<?php print $this->product->product_url;?>"><?php print _JSHOP_READ_MORE?></a>
                        </div>
                    <?php }?>

                    <?php if ($this->product->delivery_time != ''){?>
                        <div class="deliverytime"><?php print _JSHOP_DELIVERY_TIME?>: <?php print $this->product->delivery_time?></div>
                    <?php }?>

                    <?php if (is_array($this->product->extra_field)){?>
                        <div class="extra_fields">
                            <?php $extra_field_group "";
                            foreach(
$this->product->extra_field as $extra_field){
                                if (
$extra_field_group!=$extra_field['groupname']){
                                    
$extra_field_group $extra_field['groupname'];
                                    
?>

                                    <div class='extra_fields_group'><?php print $extra_field_group?></div>
                                <?php }?>
                                <div><span class="extra_fields_name"><?php print $extra_field['name'];?></span><?php if ($extra_field['description']) {?> <span class="extra_fields_description"><?php print $extra_field['description'];?></span><?php ?>: <span class="extra_fields_value"><?php print $extra_field['value'];?></span></div>
                            <?php }?>
                        </div>
                    <?php }?>
                </div>
            </div>

            <div id="tab-2" class="content" style="display:none">
                <div class="zt_tab_inner">
                    <?php
                    
print $this->_tmp_product_html_before_review;
                    include(
dirname(__FILE__)."/review.php");
                    
?>

                </div>
            </div>

           
    </div><!--/zt_tabs-->
<!------------------------------  short_description   - ------------------------------->





<?php print $this->_tmp_product_html_before_demofiles?>
<div id="list_product_demofiles"><?php include(dirname(__FILE__)."/demofiles.php");?></div>
<?php
if ($this->config->product_show_button_back){?>

    <div class="button_back">
        <input type="button" class="button" value="<?php print _JSHOP_BACK;?>" onclick="<?php print $this->product->button_back_js_click;?>" />
    </div>
<?php }?>
<?php
print $this->_tmp_product_html_before_related;
include(
dirname(__FILE__)."/related.php");
?>

<?php print $this->_tmp_product_html_end;?>
</div>

<script type="text/javascript">
    jQuery(document).ready(function($) {
        $('a.tab').click(function(){
            $('.active').removeClass('active');
            $(this).addClass('active');
            $('.content').slideUp();
            var content_show = $(this).attr('title');
            $('#'+ content_show).slideDown();
        });
        jQuery('#quantity').keyup(function () {
            this.value = this.value.replace(/[^0-9\.]/g,'');
        });
    });
</script>[/spoiler]
Может быть кто-то поможет с советом как еще сгладить эту всю "красоту" с хвостом из атрибутов. Другие товары с меньшим кол-м атрибутов, но этот основной хотелось бы тоже довести до ума.

*

Оффлайн Cerber

  • ****
  • 268
  • [+]32 / [-]0
  • Богиня Иштар и ее пес Пи..ц
    • Просмотр профиля
Здесь не разбирают вопросы индивидуальной верстки
Единственное если Вы не знаете через что выводится плагин то:
Код: (php) [Выделить]
$this->_tmp_product_html_after_buttons
Описание выводится:
Код: (php) [Выделить]
$this->$this->product->description
//Это все

*

Оффлайн Taatshi

Здесь не разбирают вопросы индивидуальной верстки

Это еще почему?

xxx87, во-первых, картинки атрибутов лучше сделать поменьше
Код: (css) [Выделить]
.td_attr img {
max-width: 50px;
height: auto;
}

Сейчас компоновку посмотрю
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

*

Оффлайн Taatshi

Попробуйте так... не гарантирую, что нигде не напортачила) Ужасно непривычно без доступа править  ^-^

Спойлер
[свернуть]
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

*

Оффлайн xxx87

  • ***
  • 130
  • [+]4 / [-]0
  • прошу любить и жаловать
    • Просмотр профиля
Попробуйте так... не гарантирую, что нигде не напортачила) Ужасно непривычно без доступа править  ^-^
Аааввв ((( ничего не изменилось :(((( Я уже и сама не знаю что делать - куда только не пробовала этот description запихнуть - не получается :( плакаю  :'( >:(
может таблицей пробовать сделать? воткнуть всякие <tr> <td> :o !

*

Оффлайн Taatshi

Э... погодите. Я Вам перенесла под картинку все то, что у Вас не заполнено сейчас. Вы хотите под картинку табы запихать? Тогда так

Спойлер
[свернуть]
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

*

Оффлайн xxx87

  • ***
  • 130
  • [+]4 / [-]0
  • прошу любить и жаловать
    • Просмотр профиля
Э... погодите. Я Вам перенесла под картинку все то, что у Вас не заполнено сейчас. Вы хотите под картинку табы запихать? Тогда так
И тоже табы как на месте стояли так и стоят. ((

*

Оффлайн Taatshi

Вы где все это меняете? Я никаких изменений в коде страницы не вижу.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

*

Оффлайн xxx87

  • ***
  • 130
  • [+]4 / [-]0
  • прошу любить и жаловать
    • Просмотр профиля
Вы где все это меняете? Я никаких изменений в коде страницы не вижу.
вот здесь меняю product_default.php путь:/public_html/components/com_jshopping/templates/default/product/

*

Оффлайн nevigen

  • *****
  • 8831
  • [+]771 / [-]17
  • http://n*****n.com
    • Просмотр профиля
    • Nevigen.com -разработки для Joomla
/templates/zo2_colias/html/com_jshopping
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !

*

Оффлайн dmitry_stas

девушка уже забыла, что у нее шаблон переопределен :) видимо необходимо повторить втык :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Оффлайн Taatshi

Дмитрий, не ругайся - я вон забыла, что php на свете существует  ;)
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

*

Оффлайн dmitry_stas

Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Оффлайн xxx87

  • ***
  • 130
  • [+]4 / [-]0
  • прошу любить и жаловать
    • Просмотр профиля
девушка уже забыла, что у нее шаблон переопределен :) видимо необходимо повторить втык :)
:) Дмитрий, упс. Спутала пути. Каюсь  :o
Дмитрий, не ругайся - я вон забыла, что php на свете существует  ;)
И тем не менее на сайте после замены кода ваабдже полная абракадабра. :o Это уже наверное не судьба ((((


*

Оффлайн Taatshi

Это я чукча)) счас поправим

строка 5

Код: (html4strict) [Выделить]
<div class="zt_jshop_image col-sm-5">
меняем на

Код: (html4strict) [Выделить]
<div class="zt_jshop_image col-sm-12">
Потом лезем а в админку и заполняем все данные, которые будут в карточке товара. Править, не понимая, что именно там будет, мне надоело  ^-^

И  не надо для демо текста использовать неразрывные километровые слова - проставьте пробелы.
« Последнее редактирование: 30.04.2015, 14:27:07 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

*

Оффлайн xxx87

  • ***
  • 130
  • [+]4 / [-]0
  • прошу любить и жаловать
    • Просмотр профиля
Это я чукча)) счас поправим

И  не надо для демо текста использовать неразрывные километровые слова - проставьте пробелы.
Ооооооооооо :))))))) сколько счастььььяяяяяя!! Все стало на место :))))))) спасибо большое - Вы просто гений !  :-* :-* :-* :-* :-* :-* :-* :-* :-*

*

Оффлайн Taatshi

ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.