Перейти к содержанию
Esox

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

Рекомендуемые сообщения

Добрый день.

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

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

Спасибо.

 

image.thumb.png.db09fd84ce2d5f215b7bc029339119fd.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оригинал

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

image.thumb.png.f9394284c7221efb5e2c367dad952ac7.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Посмотрю.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
27 минут назад, Esox сказал:

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

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

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

 

 

Можно 

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

 

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

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

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

Изменено пользователем spectre

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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;

}

 


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
22 часа назад, spectre сказал:

 

Можно 

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

 


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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, Esox сказал:

 

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

 

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
23 минуты назад, spectre сказал:

 

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

 

 

 

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

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

 

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

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

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

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

 

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.