Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.10.2017, 18:06
Аспирант
Отправить личное сообщение для EvgenStor Посмотреть профиль Найти все сообщения от EvgenStor
 
Регистрация: 18.11.2013
Сообщений: 31

Как подгрузить картинку с другой страницы и вставить
Общими словами смысл такой, нужно в корзине товаров, добавить фото товарам у которых фото отсутствуют (отсутствует src=""), с соответствующих страниц товаров по своей ссылке для каждого товара.

Корзина
<div id="order-table">
  <div>
    <div>1.</div>
    <div>
      <a href="" class="ulightbox"><img src=""></a>
    </div>
    <div><a href="ссылка-на-страницу-с-картинкой-1">Название товара 1</a></div>
  </div>
  <div>
    <hr>
    <div>2.</div>
    <div>
      <a href="/ссылка-на-картинку-есть.jpg" class="ulightbox"><img src="/ссылка-на-картинку-есть.jpg"></a>
    </div>
    <div><a href="/ссылка-на-страницу-с-картинкой-2">Название товара 2</a></div>
  </div>
  <div>
    <hr>
    <div>3.</div>
    <div>
      <a href="" class="ulightbox"><img src=""></a>
    </div>
    <div><a href="/ссылка-на-страницу-с-картинкой-3">Название товара 3</a></div>
  </div>
</div>


Если ссылка на картинку есть ничего не делаем (например товар номер 2 имеет ссылку). Если нет, то на странице товара находим блок с картинкой по class="link-photo", копируем src и вставляем в соответствующую товару конструкцию <a href=""><img src=""></a> в href="" и src=""

Фото на страницах товара, на каждой странице по одному фото

<img alt="Название товара 1" src="https://ссылка-на-фото-название-1.jpg" class="link-photo">
<img alt="Название товара 2" src="https://ссылка-на-фото-название-2.jpg" class="link-photo">
<img alt="Название товара 3" src="https://ссылка-на-фото-название-3.jpg" class="link-photo">


Если картинки class="link-photo" на странице с товаром нет, копируем div class="shop-item-foto" и заменяем

<a href=""><img src=""></a>

на скопированное

<div class="shop-item-foto">....</div>


Все на что меня хватило


$('#order-table div div:nth-child(3) a').each(function(index, value){
   var url = $(this).attr('href');
	
  $.get(url, function(d){
  $('#order-table div div:nth-child(2)').html($('.link-photo',d).html());
	
});
});
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2017, 18:29
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

EvgenStor,
А что на сервере сразу сложно определить есть ли изображение или нет и если нет то вывод тега с изображением по умолчанию? Или наличие фото у товара не отображено в базе?
Ответить с цитированием
  #3 (permalink)  
Старый 20.10.2017, 19:08
Аспирант
Отправить личное сообщение для EvgenStor Посмотреть профиль Найти все сообщения от EvgenStor
 
Регистрация: 18.11.2013
Сообщений: 31

Сообщение от laimas Посмотреть сообщение
EvgenStor,
Или наличие фото у товара не отображено в базе?
Фото в базе нет, оно выводится на странице товара по внешней ссылке с внешнего сервера.
Ответить с цитированием
  #4 (permalink)  
Старый 20.10.2017, 19:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от EvgenStor
оно выводится на странице товара по внешней ссылке
И кто же это вставляет <img alt="Название товара 1" src="https://ссылка-на-фото-название-1.jpg" class="link-photo"> или же нет?

Если бы сервер всегда вставлял фото, но src шлюз бы возвращал изображение или нет, это одно. Но вы же пишите, что тега img вообще может не быть. Интересно кто об этом "знает"?
Ответить с цитированием
  #5 (permalink)  
Старый 20.10.2017, 19:24
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

laimas прав, удобнее что бы сервер отдал сразу нужные теги. Не важно где храняться изображения, ссылки же на изображения вы вы всё равно где то получаете - и вероятнее всего именно на сервере)

А так я использовал бы библиотеку imagesloaded - она отлично проверяет ссылку на изображение - если изображение не загрузилось, то подставляйте свои ссылки.
Ответить с цитированием
  #6 (permalink)  
Старый 20.10.2017, 19:46
Аспирант
Отправить личное сообщение для EvgenStor Посмотреть профиль Найти все сообщения от EvgenStor
 
Регистрация: 18.11.2013
Сообщений: 31

Сообщение от laimas Посмотреть сообщение
И кто же это вставляет
Попробую объяснить
Дело в том, что корзина/страница оформления заказа формируется сервером, к ней доступа нет.
Есть товары с фото которые загружены в базу сайта с ними все нормально, а есть товары с фото по ссылке, такие фото я ни как не могу передать в корзину, поскольку корзина формируется сервером, к ней доступа нет.

В итоге на странице заказа/в корзине у одних есть фото, а у тех которые были по ссылке нет. Вот и задача стоит такая, что нужно зайти на страницу товара, взять фото и вывести в корзине.
Ответить с цитированием
  #7 (permalink)  
Старый 20.10.2017, 19:58
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

EvgenStor, от сервера, к которому нет доступа данные в каком виде приходят?
Ответить с цитированием
  #8 (permalink)  
Старый 20.10.2017, 20:11
Аспирант
Отправить личное сообщение для EvgenStor Посмотреть профиль Найти все сообщения от EvgenStor
 
Регистрация: 18.11.2013
Сообщений: 31

Сообщение от Nexus Посмотреть сообщение
EvgenStor, от сервера, к которому нет доступа данные в каком виде приходят?
В шаблоне страницы оформления заказа (корзина), вставляешь оператор $cart$, и этот оператор выводит уже готовую корзину со всем содержимым в виде html. А в $cart$ попадает только определенные параметры, фото только те которые в базе сайта, артикул, цена, количество.

И не как ты не повлияешь на $cart$ пока он не загрузится.

Форумчане помогите пожалуйста со скриптом разобраться, с $(this), как сделать, что бы к первому товару добавилась картинка со страницы первого товара, ко второму со страницы второго товара и так далее?
Ответить с цитированием
  #9 (permalink)  
Старый 20.10.2017, 20:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от EvgenStor
Дело в том, что корзина/страница оформления заказа формируется сервером, к ней доступа нет.
Это что чужой сервер, а ваши страницы это только html/css/js, к которым у вас есть доступ? А откуда тогда на странице пустая заготовка тега, которую подставлять?
Ответить с цитированием
  #10 (permalink)  
Старый 20.10.2017, 20:46
Аспирант
Отправить личное сообщение для EvgenStor Посмотреть профиль Найти все сообщения от EvgenStor
 
Регистрация: 18.11.2013
Сообщений: 31

Сообщение от laimas Посмотреть сообщение
Это что чужой сервер
Это сервер CMS, и база хранится на сервере. Я лишь могу выводить содержимое редактируя шаблон страницы html/css/js.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена обновленных данных с другой страницы Splunchik Javascript под браузер 12 03.04.2015 16:47
Фильтрация данных в таблице (с другой страницы) Jebber Элементы интерфейса 8 05.03.2015 10:45
Как вставить картинку на страницу поверх ее.. Вадим_СС Javascript под браузер 2 23.04.2012 08:45
как получить себе данные с другой страницы? DemonStore Общие вопросы Javascript 4 10.05.2011 17:52
Как вставить картинку в java script? 9xakep Общие вопросы Javascript 5 16.04.2011 17:36