Новости 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 Гость просматривают эту тему.
  • 8 Ответов
  • 1928 Просмотров
*

BlakMag

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Народ. я новичек в работе с Joomla. И не ругайте если вопрос глупый.
У меня стоит Joomla 1.5 и VirtueMart 1.1.4
Проблема в следующем. когда зааходишь в товар и нажимаешь на картинку чтобы она увеличелась и она появляется слева и видно толко половину.
притом такая ошибка только в EI.
*

BlakMag

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Народ ну ктонить может сталкивался с такой проблемой?
*

Oxlamon

  • Давно я тут
  • 746
  • 95 / 4
EI или IE?
С проблемами отображения в ИЕ сталкивались все, однозначно.
Данный вопрос с Joomla напрямую не связан. Это вопрос вёрстки вообще и интерпретации стилей любимым броузером.
Открываем отладчик ИЕ и изучаем стили. Возможно, какая-то фигня с абсолютным позиционированием в конкретном шаблоне (в понимании его ИЕ).
В общем, F12 + Эрик Мейер + IE-hacks = решение.
*

BlakMag

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
спасибо попробую
*

BlakMag

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
<img width="90" height="90" alt="FOXCONN TLA-001" src="http://mega-bait-joomla/components/com_virtuemart/show_image_in_imgtag.php?filename=resized%2FFOXCONN_TLA_001_4d748f45b9850_90x90.jpg&newxsize=90&newysize=90&fileout=" border="0" complete="complete"/>

вот в эта строчка отвечает  за вывод картинки не могу найти в коде кто может подсказать

или вот эта
<div id="lbImage" getElementsBySelector="function(selector,nocash){var elements=[];selector=selector.split(',');for(var i=0,j=selector.length;i<j;i++)elements=elements.concat(this.getElements(selector,true));return(nocash)?elements:$$.unique(elements)}" addListener="function(type,fn){if(this.addEventListener)this.addEventListener(type,fn,false);else this.attachEvent('on'+type,fn);return this}" removeListener="function(type,fn){if(this.removeEventListener)this.removeEventListener(type,fn,false);else this.detachEvent('on'+type,fn);return this}" addEvent="function(type,fn){this.$events=this.$events||{};this.$events[type]=this.$events[type]||{'keys':[],'values':[]};if(this.$events[type].keys.contains(fn))return this;this.$events[type].keys.push(fn);var realType=type;var custom=Element.Events[type];if(custom){if(custom.add)custom.add.call(this,fn);if(custom.map)fn=custom.map;if(custom.type)realType=custom.type}if(!this.addEventListener)fn=fn.create({'bind':this,'event':true});this.$events[type].values.push(fn);return(Element.NativeEvents.contains(realType))?this.addListener(realType,fn):this}" removeEvent="function(type,fn){if(!this.$events||!this.$events[type])return this;var pos=this.$events[type].keys.indexOf(fn);if(pos==-1)return this;var key=this.$events[type].keys.splice(pos,1)[0];var value=this.$events[type].values.splice(pos,1)[0];var custom=Element.Events[type];if(custom){if(custom.remove)custom.remove.call(this,fn);if(custom.type)type=custom.type}return(Element.NativeEvents.contains(type))?this.removeListener(type,value):this}" addEvents="function(source){return Element.setMany(this,'addEvent',source)}" removeEvents="function(type){if(!this.$events)return this;if(!type){for(var evType in this.$events)this.removeEvents(evType);this.$events=null}else if(this.$events[type]){this.$events[type].keys.each(function(fn){this.removeEvent(type,fn)},this);this.$events[type]=null}return this}" fireEvent="function(type,args,delay){if(this.$events&&this.$events[type]){this.$events[type].keys.each(function(fn){fn.create({'bind':this,'delay':delay,'arguments':args})()},this)}return this}" cloneEvents="function(from,type){if(!from.$events)return this;if(!type){for(var evType in from.$events)this.cloneEvents(from,evType)}else if(from.$events[type]){from.$events[type].keys.each(function(fn){this.addEvent(type,fn)},this)}return this}" getElements="function(selector,nocash){var items=[];selector=selector.trim().split(' ');for(var i=0,j=selector.length;i<j;i++){var sel=selector;var param=sel.match($$.shared.regexp);if(!param)break;param[1]=param[1]||'*';var temp=$$.shared[$$.shared.method].getParam(items,this,param,i);if(!temp)break;items=temp}return $$.shared[$$.shared.method].getItems(items,this,nocash)}" getElement="function(selector){return $(this.getElements(selector,true)[0]||false)}" getSize="function(){return{'scroll':{'x':this.scrollLeft,'y':this.scrollTop},'size':{'x':this.offsetWidth,'y':this.offsetHeight},'scrollSize':{'x':this.scrollWidth,'y':this.scrollHeight}}}" getPosition="function(overflown){overflown=overflown||[];var el=this,left=0,top=0;do{left+=el.offsetLeft||0;top+=el.offsetTop||0;el=el.offsetParent}while(el);overflown.each(function(element){left-=element.scrollLeft||0;top-=element.scrollTop||0});return{'x':left,'y':top}}" $tmp="[object Object]" initialize="function(el,props){if($type(el)=='string'){if(window.ie&&props&&(props.name||props.type)){var name=(props.name)?' name="'+props.name+'"':'';var type=(props.type)?' type="'+props.type+'"':'';delete props.name;delete props.type;el='<'+el+name+type+'>'}el=document.createElement(el)}el=$(el);return(!props||!el)?el:el.set(props)}" set="function(props){for(var prop in props){var val=props[prop];switch(prop){case'styles':this.setStyles(val);break;case'events':if(this.addEvents)this.addEvents(val);break;case'properties':this.setProperties(val);break;default:this.setProperty(prop,val)}}return this}" inject="function(el,where){el=$(el);switch(where){case'before':el.parentNode.insertBefore(this,el);break;case'after':var next=el.getNext();if(!next)el.parentNode.appendChild(this);else el.parentNode.insertBefore(this,next);break;case'top':var first=el.firstChild;if(first){el.insertBefore(this,first);break}default:el.appendChild(this)}return this}" injectBefore="function(el){return this.inject(el,'before')}" injectAfter="function(el){return this.inject(el,'after')}" injectInside="function(el){return this.inject(el,'bottom')}" injectTop="function(el){return this.inject(el,'top')}" adopt="function(){var elements=[];$each(arguments,function(argument){elements=elements.concat(argument)});$$(elements).inject(this);return this}" remove="function(){return this.parentNode.removeChild(this)}" clone="function(contents){var el=$(this.cloneNode(contents!==false));if(!el.$events)return el;el.$events={};for(var type in this.$events)el.$events[type]={'keys':$A(this.$events[type].keys),'values':$A(this.$events[type].values)};return el.removeEvents()}" replaceWith="function(el){el=$(el);this.parentNode.replaceChild(el,this);return el}" appendText="function(text){this.appendChild(document.createTextNode(text));return this}" hasClass="function(className){return this.className.contains(className,' ')}" addClass="function(className){if(!this.hasClass(className))this.className=(this.className+' '+className).clean();return this}" removeClass="function(className){this.className=this.className.replace(new RegExp('(^|\\s)'+className+'(?:\\s|$)'),'$1').clean();return this}" toggleClass="function(className){return this.hasClass(className)?this.removeClass(className):this.addClass(className)}" setStyle="function(property,value){switch(property){case'opacity':return this.setOpacity(parseFloat(value));case'float':property=(window.ie)?'styleFloat':'cssFloat'}property=property.camelCase();switch($type(value)){case'number':if(!['zIndex','zoom'].contains(property))value+='px';break;case'array':value='rgb('+value.join(',')+')'}this.style[property]=value;return this}" setStyles="function(source){switch($type(source)){case'object':Element.setMany(this,'setStyle',source);break;case'string':this.style.cssText=source}return this}" setOpacity="function(opacity){if(opacity==0){if(this.style.visibility!="hidden")this.style.visibility="hidden"}else{if(this.style.visibility!="visible")this.style.visibility="visible"}if(!this.currentStyle||!this.currentStyle.hasLayout)this.style.zoom=1;if(window.ie)this.style.filter=(opacity==1)?'':"alpha(opacity="+opacity*100+")";this.style.opacity=this.$tmp.opacity=opacity;return this}" getStyle="function(property){property=property.camelCase();var result=this.style[property];if(!$chk(result)){if(property=='opacity')return this.$tmp.opacity;result=[];for(var style in Element.Styles){if(property==style){Element.Styles[style].each(function(s){var style=this.getStyle(s);result.push(parseInt(style)?style:'0px')},this);if(property=='border'){var every=result.every(function(bit){return(bit==result[0])});return(every)?result[0]:false}return result.join(' ')}}if(property.contains('border')){if(Element.Styles.border.contains(property)){return['Width','Style','Color'].map(function(p){return this.getStyle(property+p)},this).join(' ')}else if(Element.borderShort.contains(property)){return['Top','Right','Bottom','Left'].map(function(p){return this.getStyle('border'+p+property.replace('border',''))},this).join(' ')}}if(document.defaultView)result=document.defaultView.getComputedStyle(this,null).getPropertyValue(property.hyphenate());else if(this.currentStyle)result=this.currentStyle[property]}if(window.ie)result=Element.fixStyle(property,result,this);if(result&&property.test(/color/i)&&result.contains('rgb')){return result.split('rgb').splice(1,4).map(function(color){return color.rgbToHex()}).join(' ')}return result}" getStyles="function(){return Element.getMany(this,'getStyle',arguments)}" walk="function(brother,start){brother+='Sibling';var el=(start)?this[start]:this[brother];while(el&&$type(el)!='element')el=el[brother];return $(el)}" getPrevious="function(){return this.walk('previous')}" getNext="function(){return this.walk('next')}" getFirst="function(){return this.walk('next','firstChild')}" getLast="function(){return this.walk('previous','lastChild')}" getParent="function(){return $(this.parentNode)}" getChildren="function(){return $$(this.childNodes)}" hasChild="function(el){return!!$A(this.getElementsByTagName('*')).contains(el)}" getProperty="function(property){var index=Element.Properties[property];if(index)return this[index];var flag=Element.PropertiesIFlag[property]||0;if(!window.ie||flag)return this.getAttribute(property,flag);var node=this.attributes[property];return(node)?node.nodeValue:null}" removeProperty="function(property){var index=Element.Properties[property];if(index)this[index]='';else this.removeAttribute(property);return this}" getProperties="function(){return Element.getMany(this,'getProperty',arguments)}" setProperty="function(property,value){var index=Element.Properties[property];if(index)this[index]=value;else this.setAttribute(property,value);return this}" setProperties="function(source){return Element.setMany(this,'setProperty',source)}" setHTML="function(){this.innerHTML=$A(arguments).join('');return this}" setText="function(text){var tag=this.getTag();if(['style','script'].contains(tag)){if(window.ie){if(tag=='style')this.styleSheet.cssText=text;else if(tag=='script')this.setProperty('text',text);return this}else{this.removeChild(this.firstChild);return this.appendText(text)}}this[$defined(this.innerText)?'innerText':'textContent']=text;return this}" getText="function(){var tag=this.getTag();if(['style','script'].contains(tag)){if(window.ie){if(tag=='style')return this.styleSheet.cssText;else if(tag=='script')return this.getProperty('text')}else{return this.innerHTML}}return($pick(this.innerText,this.textContent))}" getTag="function(){return this.tagName.toLowerCase()}" empty="function(){Garbage.trash(this.getElementsByTagName('*'));return this.setHTML('')}" getElementById="function(id){var el=document.getElementById(id);if(!el)return false;for(var parent=el.parentNode;parent!=this;parent=parent.parentNode){if(!parent)return false}return el}" getElementsByClassName="function(className){return this.getElements('.'+className)}" getValue="function(){switch(this.getTag()){case'select':var values=[];$each(this.options,function(option){if(option.selected)values.push($pick(option.value,option.text))});return(this.multiple)?values:values[0];case'input':if(!(this.checked&&['checkbox','radio'].contains(this.type))&&!['hidden','text','password'].contains(this.type))break;case'textarea':return this.value}return false}" getFormElements="function(){return $$(this.getElementsByTagName('input'),this.getElementsByTagName('select'),this.getElementsByTagName('textarea'))}" toQueryString="function(){var queryString=[];this.getFormElements().each(function(el){var name=el.name;var value=el.getValue();if(value===false||!name||el.disabled)return;var qs=function(val){queryString.push(name+'='+encodeURIComponent(val))};if($type(value)=='array')value.each(qs);else qs(value)});return queryString.join('&')}" scrollTo="function(x,y){this.scrollLeft=x;this.scrollTop=y}" getTop="function(overflown){return this.getPosition(overflown).y}" getLeft="function(overflown){return this.getPosition(overflown).x}" getCoordinates="function(overflown){var position=this.getPosition(overflown);var obj={'width':this.offsetWidth,'height':this.offsetHeight,'left':position.x,'top':position.y};obj.right=obj.left+obj.width;obj.bottom=obj.top+obj.height;return obj}" effect="function(property,options){return new Fx.Style(this,property,options)}" effects="function(options){return new Fx.Styles(this,options)}" makeResizable="function(options){return new Drag.Base(this,$merge({modifiers:{x:'width',y:'height'}},options))}" makeDraggable="function(options){return new Drag.Move(this,options)}" send="function(options){return new Ajax(this.getProperty('action'),$merge({data:this.toQueryString()},options,{method:'post'})).request()}" htmlElement="function(){}" slimbox="function(L,M){$$(this).slimbox(L,M);return this}">
« Последнее редактирование: 09.03.2011, 13:04:45 от BlakMag »
*

Oxlamon

  • Давно я тут
  • 746
  • 95 / 4
Во-первых, такой строчки как таковой в коде нет. Она есть только в браузере, после того, как php "подставит" в аттрибуты нужные значения и сервер её браузеру передаст.
Ну и, кроме того, она имеет отношение к иконке товара (судя по размеру в 90рх). А за вывод его лайтбоксом или как-то там у вас ещё (?) отвечает какой-нибудь жаба-скрипт, в котором могут прописанны либо классы, либо стили. Проблемы же с укрупнённым выводом?
Т.е. инспектировать надо уже большую картинку. Смотреть, какие ей назначены стили (в CSS или в js).
*

Oxlamon

  • Давно я тут
  • 746
  • 95 / 4
ЗЫ: Спасибо - нет.  :o
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Простыню под спойлер!
Сразу вопрос, какая версия ишака?
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

BlakMag

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
версия Joomla 1.5 версия VirtueMart 1.1.4.
народ может кто знает где эти скрепты или стили лежат
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отображение двух типов цен в карточке товара

Автор marsels

Ответов: 0
Просмотров: 1018
Последний ответ 21.09.2015, 13:29:28
от marsels
Проблема, пропали картинки с VirtueMart

Автор haidamaka

Ответов: 9
Просмотров: 2898
Последний ответ 24.07.2015, 12:03:10
от renata
Увеличение картинки, вместо ссылки на товар - в плагине VM1 Product Snapshot

Автор sashgera

Ответов: 4
Просмотров: 1539
Последний ответ 16.03.2015, 22:43:59
от sashgera
VirtueMart 1.1.9. - Как настроить картинки к категориям. Внутри подробнее проблема

Автор wmvova

Ответов: 8
Просмотров: 1998
Последний ответ 15.12.2014, 11:47:43
от wmvova
Убрать отображение меню категорий в карточке товара [Решено]

Автор master3000

Ответов: 11
Просмотров: 4284
Последний ответ 19.10.2014, 21:25:18
от kajjja