6

Для того, чтобы создать адаптивный сайт с Typo3 и Twitter Bootstrap, я хотел бы, чтобы удалить высота и ширина attributs изображенийУдалить атрибуты «высота» и «ширина» тега изображения

Вот как изображения генерируются в фронтэнда с помощью элемента содержимого типа текста & изображений и изображений

<img src="typo3temp/pics/a625b79f89.jpg" width="300" height="226" alt="blabla" /> 

Я хотел бы, чтобы удалить атрибуты измерения и получить это:

<img src="typo3temp/pics/a625b79f89.jpg" alt="blaba" /> 

Может кто-нибудь мне помочь?

+0

Если jquery в порядке с вами, то, пожалуйста, см. Этот http://api.jquery.com/removeAttr/ –

ответ

2

Невозможно удалить атрибуты высоты или ширины с помощью typoscript.

Но вы можете переопределить его с помощью CSS, чтобы создать отзывчивый веб-сайт.

img { height:100% !important; width:100% !important; }

+0

Я столкнулся с той же проблемой, чтобы сохранить исходный размер нового изображения шириной и высотой старых атрибутов, которые нужно удалить. Jquery way is [здесь] [1] , установив 100%! Важно в css, который вы говорите браузер, чтобы установить размер img на 100% относительно его родителя, независимо от его первоначального размера, который, я думаю, не является правильным способом. [1]: http://www.w3schools.com/jquery/html_removeattr.asp – Naga

2

Использование JQuery

установить идентификатор к объекту изображения:

<img src="typo3temp/pics/a625b79f89.jpg" width="300" height="226" alt="blabla" id="myimage" /> 

$('#myimage').removeAttr("heigth").removeAttr("width"); 

здесь альтернативный Javascript код:

var myImage= document.getElementById("myimage"); 
myImage.removeAttribute("heigth"); 
myImage.removeAttribute("width"); 
+0

Я бы предпочел решение через typoscript. Но я буду тестировать его в jQuery. Я не думал о jQuery. Я проверю это. – alienlebarge

+0

Я предложил использовать jquery, не извините – Mennan

1

Если изображение имеет id или другой уникальный атрибут, назначенный, вы можете легко сделать это:

var myImg=document.getElementById('myImage'); 
myImg && myImg.removeAttribute('height') && myImg.removeAttribute('width'); 
+0

Я предполагаю, что есть уникальный атрибут: 'src'. – robertc

8

Вызов тега изображения в функции document.ready.

$('img').removeAttr('width').removeAttr('height'); 
+3

С помощью Bootstrap вы можете также добавить класс «img-responsive» к изображениям одновременно. '$ ('img'). removeAttr ('width'). removeAttr ('height'). addClass ('img-responsive');' –

6

FYI: Невозможно удалить это с помощью типографика. Атрибуты width и height жестко закодированы в функции sysext/cms/tslib/class.tslib_content.phpcImage. (Typo3 4.7)

+0

ok спасибо! Итак, я поеду с jQuery. – alienlebarge

+2

Жаль, что разработчикам так долго нужно избавляться от привычек web 1.0. – Mateng

2

Чтобы удалить эффекты фиксированной ширины и/или высоты атрибуты без фактического удаления этих атрибутов вы можете установить их в «авто» в определениях CSS:

img { 
    height: auto !important; 
    width: auto !important; 
} 

Я предлагаю сделайте это только для тегов img, где вам действительно нужны картинки, которые будут текучими. Это можно сделать, добавив id или класс к тегам img или к любому окружающему тегу.

E.g. если ваши жидкости изображения расположены в оберточную DIV с «fluid_pics» класса вы можете использовать:

.fluid_pics img { 
    height: auto !important; 
    width: auto !important; 
} 

Часто вам нужно будет только установить высоту обратно в авто, а ширина уже переписаны, чтобы быть на 100% ваши рамки (например, Twitter Bootstrap).

+0

В SharePoint 2013 работал для меня. – kevin

+1

На мой взгляд, это лучший подход. Нет необходимости в javascript, и такие вещи, как автомасштабирование в сочетании с max-width, все еще работают. Благодаря! – Ole

2

TypoScript для удаления атрибутов «ширина» и «высота» из исходного кода. TYPO3 CMS 6.1+.

tt_content.image.20.stdWrap.parseFunc.nonTypoTagStdWrap.HTMLparser.tags.img.fixAttrib { 
width.unset = 1 
height.unset = 1 
border.unset = 1 
} 

tt_content.textpic.20.stdWrap.parseFunc.nonTypoTagStdWrap.HTMLparser.tags.img.fixAttrib { 
width.unset = 1 
height.unset = 1 
border.unset = 1 
} 

lib.parseFunc_RTE.nonTypoTagStdWrap.HTMLparser.tags.img.fixAttrib { 
width.unset = 1 
height.unset = 1 
border.unset = 1 
} 

tt_news Например: Список новостей

plugin.tt_news.displayList.image.stdWrap.parseFunc.nonTypoTagStdWrap.HTMLparser.tags.img.fixAttrib { 
width.unset = 1 
height.unset = 1 
border.unset = 1 
} 
0

это не работают в 6.1:/ , но и может использовать CSS:

img { 
    display: block; 
    max-width: 100%; 
    height: auto; 
} 
1

для TYPO3 6.2 вверх вы можете установить пользовательские макет рендеринга изображений (фрагмент относится к установке TS):

tt_content.image.20.1 { 
    layout { 
     mylayout { 
      # equals default rendering, except width and height removed 
      element = <img src="###SRC###" ###PARAMS### ###ALTPARAMS### ###BORDER### ###SELFCLOSINGTAGSLASH###> 
     } 
    } 
} 

Включить пользовательский макет для css_styled_content (фрагмент принадлежит TS константы):

styles.content.imgtext.layoutKey = mylayout 

См https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Image/Index.html#cobj-image-layoutkey деталей на IMAGE CObject.

+0

Я не могу заставить это работать с T3 7.6 - оба сценария входят в раздел SETUP моего шаблона? – uTILLIty

+0

@uTILLIty Я отредактировал ответ с подсказками, где должны быть размещены фрагменты. – chrisfish

0

Это ОЧЕНЬ простое решение с jQuery. Я нашел ответ на wpwizard.net.

Вот URL: http://wpwizard.net/jquery/remove-img-height-and-width-with-jquery/

Вот JQuery:

<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script type="text/javascript"> 
jQuery.noConflict(); 
jQuery(document).ready(function($){ 

    $('img').each(function(){ 
     $(this).removeAttr('width') 
     $(this).removeAttr('height'); 
    }); 

}); 
</script> 
1

Существует решение для старых TYPO3s с TypoScript:

stdWrap { 
    replacement { 
     10 { 
      search = /\s+(width|height)="[^"]+"/ 
      useRegExp = 1 
      replace = 
     } 
    } 
} 

Используйте этот stdWrap-TS, где ваше изображение отображается.

Смежные вопросы