Jump to content
Sign in to follow this  
Esox

[Решено] Назначить класс изображению

Recommended Posts

Добрый день.

Как можно вписать класс CSS (на фото это image-center) для изображений в тексте описания, чтоб не вписывать его вручную при каждой вставке изображения в текст?

Т.е. чтоб по умолчанию он там уже был вписан при открытии этой вкладки.

Спасибо.

 

image.thumb.png.db09fd84ce2d5f215b7bc029339119fd.png

Share this post


Link to post
Share on other sites

Код редактора надо править. Посмотрите документацию по редактору на оф. сайте редактора. Возможно, там есть настройка/код, который позволит задать значение класса для изображения по умолчанию при/после инициализации редактора. Ну, решения как такового нет, нужно смотреть код.

  • +1 1

Share this post


Link to post
Share on other sites

Жаль, что в лоб проблему не решить.

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

Можно всем фото прописать этот класс в шаблоне. Но не понятно, какие из этого могут быть минусы.

 

Share this post


Link to post
Share on other sites

Оригинал

http://docs.cksource.com/CKEditor_3.x/Howto/Default_Field_Values

Попробовал по этому руководству в файле admin\view\javascript\ckeditor\plugins\image\dialogs\image.js добавить здесь

children:[{type:"text",id:"txtGenClass",requiredContent:"img(cke-xyz)",label:d.lang.common.cssClass,"default":"123",

123 (для "default") - класс по умолчанию стал 123

  • +1 1

Share this post


Link to post
Share on other sites

Почему не решить? Решить

 

if (dialogName == 'image') {
        // Get a reference to the "Advanced" tab.
        var advanced = dialogDefinition.getContents('advanced');

        // Set the default value CSS class       
        var styles = advanced.get('txtGenClass'); 
        styles['default'] = 'image-center';
}

Можно вставить после

var dialogName = event.data.name;

 

  • +1 1

Share this post


Link to post
Share on other sites

Решения выше являются правильными.

 

Есть еще решение, которое относительно правильное и касается не назначения класса, а прописывает стили, к определенным с помощью селекторов, изображениям. Считаю, что его тоже надо знать:

img[src*="image/data/articles"] {
  text-align:center;
}

Этот код применит указанные стили всем изображениям, у которых в адресе содержится image/data/articles.

Share this post


Link to post
Share on other sites

Все замечательно работает.

Спасибо всем, кто отозвался.

А можно прописать значения по умолчанию в полях:

image.thumb.png.f9394284c7221efb5e2c367dad952ac7.png

Share this post


Link to post
Share on other sites

Esox, Вы не часто заглядывает по ссылке, что я давал Вам в личку

Посмотрите тему "Все картинки на сайте адаптивны" 

Там скрипт который присваивает определённый класс всем картинкам, думается что это станет самым простым решением. Удачи.

Share this post


Link to post
Share on other sites

Паша, спасибо.

Посмотрю.

Последний материал, про pdf я попробовал на себе. Не заработало ((

 

Share this post


Link to post
Share on other sites
27 минут назад, Esox сказал:

Все замечательно работает.

Спасибо всем, кто отозвался.

А можно прописать значения по умолчанию в полях:

 

 

Можно 

для ширины так

 

var infoTab = dialogDefinition.getContents( 'info' );

			// Set the default value for the width field.
			var widthField = infoTab.get( 'txtWidth' );
			widthField['default'] = '400';

а для отступа попробуйте сами :)

Edited by spectre

Share this post


Link to post
Share on other sites
40 минут назад, Esox сказал:

Последний материал, про pdf я попробовал на себе. Не заработало ((

 

Не всегда "не заработало" означает что не работает... 
Ну, коль Вам лениво...могу и сюда
пишем в футере сайта:

<script>
$('img').each(function() {
   $(this).addClass('image-center');
});
</script>


для изображений определенного блока:

 

<script>
$(document).ready(function(){  
$('.html img').each(function() {   
      $(this).addClass(image-center');   
});  
});
</script>

 

Цитата

А можно прописать значения по умолчанию в полях


можно... только в редакторе вообще удалять любые значения, а размеры задать в стилях

 

Цитата

 

.image-center {

display: block;

max-width: 73%;

height: auto;

}

 


 

  • +1 1

Share this post


Link to post
Share on other sites
22 часа назад, spectre сказал:

 

Можно 

для ширины так

 

var infoTab = dialogDefinition.getContents( 'info' );

			// Set the default value for the width field.
			var widthField = infoTab.get( 'txtWidth' );
			widthField['default'] = '400';

а для отступа попробуйте сами :)

 

В каком файле это делается?

Share this post


Link to post
Share on other sites
5 минут назад, Esox сказал:

 

В каком файле это делается?

 

там где вы вызываете редактор

 

 

Share this post


Link to post
Share on other sites
23 минуты назад, spectre сказал:

 

там где вы вызываете редактор

 

 

 

К сожалению я не знаю этого файла.((

А вот тут admin\view\javascript\ckeditor\plugins\image\dialogs\image.js

я по совету Strelez я изменил значение default и все замечательно сработало.

Спасибо тебе Strelez еще раз.

 

Share this post


Link to post
Share on other sites

Да всегда пожалуйста.

Кстати, горизонтальный отступ по умолчанию можете задать в том же файле в секции

{type:"text",id:"txtHSpace",requiredContent:"img{margin-left,margin-right}",width:"60px",label:d.lang.image.hSpace,"default":"",

 

Share this post


Link to post
Share on other sites

Вы, конечно, молодцы, что научили ТС править функции текстового редактора

Теперь теми же средствами (горизонтальный отступ в 60px и шириной по умолчанию в 400рх) учите приписывать все то же самое для адаптивной версии)

Потому как пока не увидел добавления к изображениям класса бутстрап, либо его аналога, для мобильной версии

Очень занимательно наблюдать за заменой решения в 3-4 строчки "перепиливанием" движка ))

 

Пока Вы добились только этого

видимо как то так (но естественно, не подойдет, потому как слишком явно и просто, да и дешево)
 

<script>
$('img').each(function() {
   $(this).addClass('img-responsive');
});
</script>

но Вы пишите есче))) очень хочется посмотреть на Ваши "танцы с бубном"... 

 

 

  • +1 1

Share this post


Link to post
Share on other sites
В 30.01.2018 в 10:54, Pascha сказал:

<script> $('img').each(function() { $(this).addClass('img-responsive'); }); </script>

вставил в Footer но результата не дало? Не адаптируются картинки. Убрал стили уже внесенных на сайт для теста, ни чего не поменялось. Только картинки в Footerе поехали

Share this post


Link to post
Share on other sites
35 минут назад, ramzes63 сказал:

вставил в Footer но результата не дало? Не адаптируются картинки. Убрал стили уже внесенных на сайт для теста, ни чего не поменялось. Только картинки в Footerе поехали

а модификаторы?

Share this post


Link to post
Share on other sites
36 минут назад, ramzes63 сказал:

вставил в Footer но результата не дало? Не адаптируются картинки. Убрал стили уже внесенных на сайт для теста, ни чего не поменялось. Только картинки в Footerе поехали

Этот скрипт подключает ко всем картинкам стиль из бутстрап (в версиях 2.X он интегрирован по умолчанию), которого у Вас на сайте нет, решается путем прописывания стилей для img-responsive (можно взять из бутстрап)
Причина почему "Поехали" выше.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.