@deadbeef001

Как передать данные из карточки товара на страницу товара?

Все доброго времени суток и заранее спасибо.
Меня интересует такой вопрос, допустим у меня есть несколько карточек товара, хочу что бы по клику на ее осуществился переход на страницу товара. Страница товара будет создана одна, но как сделать что бы она принимала именно ту информацию из карточки на которую нажали для просмотра?
  • Вопрос задан
  • 607 просмотров
Пригласить эксперта
Ответы на вопрос 1
@temaweb10
Есть такая вещь как GET Parameter , его пример www.yourshop.com/index.html*?name1=value1&name2=value2 , get параметры в этой сыллке name1 и name2 , есть сыллка в страницы товара , я предлагаю в эту сыллку установить get параметры , ну кончено же без js не обойтись )))
Пример сыллки на товар www.yourshop.com/index.html*?article=3423&price=1999

Функция на javascript которая может получить get parametr по его названию
function getAllUrlParams(url) {

    // извлекаем строку из URL или объекта window
    var queryString = url ? url.split('?')[1] : window.location.search.slice(1);
  
    // объект для хранения параметров
    var obj = {};
  
    // если есть строка запроса
    if (queryString) {
  
      // данные после знака # будут опущены
      queryString = queryString.split('#')[0];
  
      // разделяем параметры
      var arr = queryString.split('&');
  
      for (var i=0; i<arr.length; i++) {
        // разделяем параметр на ключ => значение
        var a = arr[i].split('=');
  
        // обработка данных вида: list[]=thing1&list[]=thing2
        var paramNum = undefined;
        var paramName = a[0].replace(/\[\d*\]/, function(v) {
          paramNum = v.slice(1,-1);
          return '';
        });
  
        // передача значения параметра ('true' если значение не задано)
        var paramValue = typeof(a[1])==='undefined' ? true : a[1];
  
        // преобразование регистра
        paramName = paramName.toLowerCase();
        paramValue = paramValue.toLowerCase();
  
        // если ключ параметра уже задан
        if (obj[paramName]) {
          // преобразуем текущее значение в массив
          if (typeof obj[paramName] === 'string') {
            obj[paramName] = [obj[paramName]];
          }
          // если не задан индекс...
          if (typeof paramNum === 'undefined') {
            // помещаем значение в конец массива
            obj[paramName].push(paramValue);
          }
          // если индекс задан...
          else {
            // размещаем элемент по заданному индексу
            obj[paramName][paramNum] = paramValue;
          }
        }
        // если параметр не задан, делаем это вручную
        else {
          obj[paramName] = paramValue;
        }
      }
    }
  
    return obj;
}
console.log(getAllUrlParams().price)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы