Новости Joomla

Astroid обновился до версии 3.3.7!

Astroid обновился до версии 3.3.7!

Astroid — это мощный фреймворк для дизайнеров и разработчиков, позволяющий создавать адаптивные, быстрые и надежные веб-сайты и шаблоны на базе Joomla.

Главное в новой версии:

-   Исправлена загрузка файлов макетов

В предыдущем крупном релизе Astroid 3.3.6 были сделаны важные улучшения:

Основные моменты:

  • Улучшенный UI/UX в ключевых областях конфигурации
  • Повышенная стабильность и согласованность в Layout Builder и Form Builder
  • Исправления ошибок на основе отзывов сообщества
  • Улучшенная обработка визуальных эффектов, границ и шрифтов

Улучшения:

  • Обновленный UX Layout Builder
  • Улучшенный эффект предзагрузчика
  • Улучшенный стиль границ
  • Улучшенный UI/UX вкладки «Layout» в Template Options

Исправления ошибок:

  • Решены проблемы с некорректными динамическими значениями
  • Исправлен Color Transform при прокрутке
  • Устранены проблемы с работой Form Builder в Article Layout и Module Layout Builder
  • Исправлена проблема с созданием ненужных временных файлов при обработке шрифтов

Скачать: https://github.com/templaza/astroid-framework/releases/tag/v3.3.7

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

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

txi

  • Захожу иногда
  • 55
  • 0 / 0
Пустое место в hightslide
« : 25.01.2013, 00:11:26 »
Изменил в выводе изображения lightbox на hightslide, но на месте первого изображения пустое место, как исправить?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Пустое место в hightslide
« Ответ #1 : 25.01.2013, 08:43:29 »
Удалить блок для места первого изображения.
Изучайте с помощью FireBug.
А вообще с проблемами отображения лучше прикладывать ссылку на сайт.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

txi

  • Захожу иногда
  • 55
  • 0 / 0
Re: Пустое место в hightslide
« Ответ #2 : 25.01.2013, 14:46:25 »
Удалить блок для места первого изображения.
Изучайте с помощью FireBug.
А вообще с проблемами отображения лучше прикладывать ссылку на сайт.
нашел я этот блок удалил(табличный блок называется image_middle), изображение сдвинулось но с ним пришли проблемы в вкладки создается поверх 1 пустая вкладка
и вот  еще вопрос как раз на этой же странице не нашел решения для нее, кнопки "Назад" и "В корзину" срезаются я сначала думал что это из-за ограничения заданной таблицы но таблицу я увеличил а кнопки не изменились, как это исправить?
http://podarokvsem.com.ua/detskie-tovary/podarok-1.html
*

miheev24

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Пустое место в hightslide
« Ответ #3 : 25.01.2013, 15:23:45 »
Попробуй мой код может за рабатает

Код
<script type = "text/javascript" src = "<?php print JURI::root(); ?>components/com_jshopping/js/highslide-full.js"></script>
<link rel="stylesheet" href="<?php print JURI::root(); ?>components/com_jshopping/css/highslide.css"/>
<script type='text/javascript'>
hs.graphicsDir = '/components/com_jshopping/css/graphics/';
hs.outlineType = 'rounded-white';
hs.showCredits = false;
hs.dimmingOpacity = 0.75;
hs.wrapperClassName = 'draggable-header';
hs.align = 'center';
hs.headingEval = 'this.thumb.title';
hs.addSlideshow({
interval: 5000,
repeat: false,
useControls: true,
fixedControls: 'fit',
overlayOptions: {
opacity: 0.50,
position: 'bottom center',
offsetX: 0,
offsetY: -10,
hideOnMouseOut: true
}
});
</script> 

<?php $product = $this->product?>
<?php include(dirname(__FILE__)."/load.js.php");?>


<div class="jshop productfull">
<form name="product" method="post" action="<?php print $this->action?>" enctype="multipart/form-data" autocomplete="off">
   
    <h1><?php print $this->product->name?><?php if ($this->config->show_product_code){?> <span class="jshop_code_prod">(<?php print _JSHOP_EAN?>: <span id="product_code"><?php print $this->product->getEan();?></span>)</span><?php }?></h1>
    <?php print $this->_tmp_product_html_start;?>
    <?php if ($this->config->display_button_print) print printContent();?>
   
    <?php include(dirname(__FILE__)."/ratingandhits.php");?>
       
       
    <table class="jshop" >
    <tr>
        <td class="image_middle">
            <?php print $this->_tmp_product_html_before_image;?>
            <?php if ($product->label_id){?>
                <div class="product_label">
                    <?php if ($product->_label_image){?>
                        <img src="<?php print $product->_label_image?>" alt="<?php print htmlspecialchars($product->_label_name)?>" />
                    <?php }else{?>
                        <span class="label_name"><?php print $product->_label_name;?></span>
                    <?php }?>
                </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 }?>
           
           
            <?php print $this->_tmp_product_html_after_image;?>
           
            <?php if ($this->config->product_show_manufacturer_logo && $this->product->manufacturer_info->manufacturer_logo!=""){?>
            <div class="manufacturer_logo">
                <a href="<?php print SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id='.$this->product->product_manufacturer_id, 2);?>">
                    <img src="<?php print $this->config->image_manufs_live_path."/".$this->product->manufacturer_info->manufacturer_logo?>" alt="<?php print htmlspecialchars($this->product->manufacturer_info->name);?>" title="<?php print htmlspecialchars($this->product->manufacturer_info->name);?>" border="0" />
                </a>
            </div>
            <?php }?>
        </td>
        <td class="jshop_img_description">
            <?php print $this->_tmp_product_html_before_image_thumb;?>
            <span id='list_product_image_thumb'>
            <?php if ( (count($this->images)>1) || (count($this->videos) && count($this->images)) ) {?>
                <?php foreach($this->images as $k=>$image){?>
                    <a class="highslide" onclick="return hs.expand(this)" href="<?php print $this->image_product_path?>/<?php print $image->image_full;?>"><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)?>"/></a>
                <?php }?>
            <?php }?>
            </span>
            <?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;?>
        </td>
    </tr>
    </table>

       
   
    <?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->config->product_show_manufacturer && $this->product->manufacturer_info->name!=""){?>
    <div class="manufacturer_name">
        <?php print _JSHOP_MANUFACTURER?>: <span><?php print $this->product->manufacturer_info->name?></span>
    </div>
    <?php }?>
   
    <?php if (count($this->attributes)){?>
    <div class="jshop_prod_attributes">
        <table class="jshop">
        <?php foreach($this->attributes as $attribut){?>
        <tr>
            <td class="attributes_title">
                <span class="attributes_name"><?php print $attribut->attr_name?>:</span><span class="attributes_description"><?php print $attribut->attr_description;?></span>
            </td>
            <td>
                <span id='block_attr_sel_<?php print $attribut->attr_id?>'>
                <?php print $attribut->selects?>
                </span>
            </td>
        </tr>
        <?php }?>
        </table>
    </div>
    <?php }?>
   
    <?php if (count($this->product->freeattributes)){?>
    <div class="prod_free_attribs">
        <table class="jshop" border="0">
        <?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 }?>
   
    <?php if ($this->product->product_is_add_price){?>
    <div class="price_prod_qty_list_head"><?php print _JSHOP_PRICE_FOR_QTY?></div>
    <table class="price_prod_qty_list">
    <?php foreach($this->product->product_add_prices as $k=>$add_price){?>
        <tr>
            <td class="qty_from" <?php if ($add_price->product_quantity_finish==0){?>colspan="3"<?php } ?>>
                <?php if ($add_price->product_quantity_finish==0) print _JSHOP_FROM?>
                <?php print $add_price->product_quantity_start?> <?php print $this->product->product_add_price_unit?>
            </td>
            <?php if ($add_price->product_quantity_finish > 0){?>
            <td class="qty_line"> - </td>
            <?php } ?>
            <?php if ($add_price->product_quantity_finish > 0){?>
            <td class="qty_to">
                <?php print $add_price->product_quantity_finish?> <?php print $this->product->product_add_price_unit?>
            </td>
            <?php } ?>
            <td class="qty_price">           
                <span id="pricelist_from_<?php print $add_price->product_quantity_start?>"><?php print formatprice($add_price->price)?><?php print $add_price->ext_price?></span> <span class="per_piece">/ <?php print $this->product->product_add_price_unit?></span>
            </td>
        </tr>
    <?php }?>
    </table>
    <?php }?>
   
    <?php if ($this->product->product_old_price > 0){?>
    <div class="old_price">
        <?php print _JSHOP_OLD_PRICE?> <span class="old_price" id="old_price"><?php print formatprice($this->product->product_old_price)?></span>
    </div>
    <?php }?>
   
    <?php if ($this->product->product_price_default > 0 && $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 if ($this->product->_display_price){?>
    <div class="prod_price">
        <?php print _JSHOP_PRICE?>: <span id="block_price"><?php print formatprice($this->product->getPriceCalculate())?><?php print $this->product->_tmp_var_price_ext;?></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->product->delivery_time != ''){?>
        <div class="deliverytime"><?php print _JSHOP_DELIVERY_TIME?>: <?php print $this->product->delivery_time?></div>
    <?php }?>
    <?php if ($this->config->product_show_weight && $this->product->product_weight > 0){?>
        <div class="productweight"><?php print _JSHOP_WEIGHT?>: <span id="block_weight"><?php print formatweight($this->product->getWeight())?></span></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 }?>
   
    <?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 }?>
   
    <?php if ($this->product->vendor_info){?>
        <div class="vendorinfo">
            <?php print _JSHOP_VENDOR?>: <?php print $this->product->vendor_info->shop_name?> (<?php print $this->product->vendor_info->l_name." ".$this->product->vendor_info->f_name;?>),
            (
            <?php if ($this->config->product_show_vendor_detail){?><a href="<?php print $this->product->vendor_info->urlinfo?>"><?php print _JSHOP_ABOUT_VENDOR?></a>,<?php }?>
            <a href="<?php print $this->product->vendor_info->urllistproducts?>"><?php print _JSHOP_VIEW_OTHER_VENDOR_PRODUCTS?></a> )
        </div>
    <?php }?>
   
    <?php if (!$this->config->hide_text_product_not_available){ ?>
        <div class = "not_available" id="not_available"><?php print $this->available?></div>
    <?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 print $this->_tmp_product_html_before_buttons;?>
    <?php if (!$this->hide_buy){?>                         
        <table class="prod_buttons">
        <tr>
            <td class="prod_qty">
                <?php print _JSHOP_QUANTITY?>:&nbsp;
            </td>
            <td class="prod_qty_input">
           
                 
           
           
            </td>       
            <td class="buttons">           
                <input type="submit" class="button" value="<?php print _JSHOP_ADD_TO_CART?>" onclick="jQuery('#to').val('cart');" />
                <?php if ($this->enable_wishlist){?>
                    <input type="submit" class="button" value="<?php print _JSHOP_ADD_TO_WISHLIST?>" onclick="jQuery('#to').val('wishlist');" />
                <?php }?>
                <?php print $this->_tmp_product_html_buttons;?>
            </td>
            <td id="jshop_image_loading" style="display:none"></td>
        </tr>
        </table>
    <?php }?>
    <?php print $this->_tmp_product_html_after_buttons;?>
   
   
     <div class="jshop_prod_description">
        <?php print $this->product->description; ?>
    </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>

<?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");
    print $this->_tmp_product_html_before_review;
    include(dirname(__FILE__)."/review.php");
?>
<?php print $this->_tmp_product_html_end;?>
</div>
*

txi

  • Захожу иногда
  • 55
  • 0 / 0
Re: Пустое место в hightslide
« Ответ #4 : 25.01.2013, 16:11:05 »
miheev24, все равно пустое место но спасибо за помощь
*

miheev24

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Пустое место в hightslide
« Ответ #5 : 25.01.2013, 16:32:06 »
а попробуй hightslide заново скачать и установить
*

miheev24

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Пустое место в hightslide
« Ответ #6 : 25.01.2013, 16:37:30 »
*

txi

  • Захожу иногда
  • 55
  • 0 / 0
Re: Пустое место в hightslide
« Ответ #7 : 25.01.2013, 17:39:44 »
попробовал все варианты, ничего не вышло(
*

txi

  • Захожу иногда
  • 55
  • 0 / 0
Re: Пустое место в hightslide
« Ответ #8 : 27.01.2013, 15:48:42 »
У кого-то есть другие варианты?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Пустое место в hightslide
« Ответ #9 : 27.01.2013, 17:53:41 »
Могли бы быть, если бы была понятна проблема.
Кнопки срезаются? Это о чём? О том, что они размером как текст?
Табы были в порядке в последний раз когда смотрел. А сейчас сайт закрыт, так что даже посмотреть нечего...
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

txi

  • Захожу иногда
  • 55
  • 0 / 0
Re: Пустое место в hightslide
« Ответ #10 : 28.01.2013, 19:59:02 »
Могли бы быть, если бы была понятна проблема.
Кнопки срезаются? Это о чём? О том, что они размером как текст?
Табы были в порядке в последний раз когда смотрел. А сейчас сайт закрыт, так что даже посмотреть нечего...
с кнопками разобрался, а вот проблему с отображением картинок через hightslide не нашел
в общем смотрите в чем дело:
здесь находится товар к которому было прикреплено 1 изображение http://podarokvsem.com.ua/mebel/tovar-s-1-izobrazheniem.html
в списке товаров изображение отображается но в самом товаре (Подробнее) нет изображения, такое впечатление что его либо что-то закрывает или оно не подгружается
НО
во ссылка на товар с 2 фотками http://podarokvsem.com.ua/mebel/tovar-s-2-izobrazheniyami.html тут все прекрасно отображается
итог такой если 1 изображение его не видно если 2 то все идеально
до этого изображения были сдвинуты в центр, как видно в 1 моем посте я нашел блок отвечающий за это место и удалил его в итоге картинки сдвинулись влево к краю как и желал, но проблема 1й картинки осталась.
вот код который я вырезал (чтобы изображения сдвинулись влево)
в чем может быть проблема, товарищи? ^-^
Код
<tr>
        <td class="image_middle">
            <?php print $this->_tmp_product_html_before_image;?>
            <?php if ($product->label_id){?>
                <div class="product_label">
                    <?php if ($product->_label_image){?>
                        <img src="<?php print $product->_label_image?>" alt="<?php print htmlspecialchars($product->_label_name)?>" />
                    <?php }else{?>
                        <span class="label_name"><?php print $product->_label_name;?></span>
                    <?php }?>
                </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 }?>
            
            <span 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="highslide" onclick="return hs.expand(this)"</a>
            <?php }?>
            </span>
            <?php print $this->_tmp_product_html_after_image;?>
            
            <?php if ($this->config->product_show_manufacturer_logo && $this->product->manufacturer_info->manufacturer_logo!=""){?>
            <div class="manufacturer_logo">
                <a href="<?php print SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id='.$this->product->product_manufacturer_id, 2);?>">
                    <img src="<?php print $this->config->image_manufs_live_path."/".$this->product->manufacturer_info->manufacturer_logo?>" alt="<?php print htmlspecialchars($this->product->manufacturer_info->name);?>" title="<?php print htmlspecialchars($this->product->manufacturer_info->name);?>" border="0" />
                </a>
            </div>
            <?php }?>
        </td>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться