xandri
@xandri
Люблю айтшечку

Легко изменяемые цены без cms на сайте, возможно?

Собственно хочу сделать простое изменение цен на сайте, сейчас сделал решение с помощью гугл таблиц, однако есть проблема с тем что загрузка происходит не очень быстро и приходиться повторять одну и ту же операцию столько раз сколько нужно менять цену тык

Может есть более логичный или быстрый способ как это сделать?
Или возможно есть способ как оптимизировать то что я написал?
  • Вопрос задан
  • 264 просмотра
Решения вопроса 2
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Хранить цены в массиве
Хранить в текстовом файл
Хранить в csv
А далее или формировать html с помощью php подставляя цены или отдельно сделать php файл к которому посылать ajax запрос, получать json c ценами и расставлять, например цепляясь за data атрибут в котором хранить id товара
Ответ написан
Комментировать
xandri
@xandri Автор вопроса
Люблю айтшечку
Нашел по моему мнению быстрый и простой способ.
Гугл таблица + csv (json) + php

Гугл таблицы позволяют делать риалтайм экспорт в несколько форматов
"Файл" => "Публикация в Интернете"
5a4390d98104b527832649.png
После чего на странице html которой нам нужно добавляем данные строки который ниже
И через array вытягиваем значения
<?=$newArray[0][cellName]?>
<?php
header('Content-type: application/json');
 
// Set your CSV feed
$feed = 'Ссылка на размещенный в интернете документ от гугл таблиц';
 
// Arrays we'll use later
$keys = array();
$newArray = array();
 
// Function to convert CSV into associative array
function csvToArray($file, $delimiter) { 
  if (($handle = fopen($file, 'r')) !== FALSE) { 
    $i = 0; 
    while (($lineArray = fgetcsv($handle, 4000, $delimiter, '"')) !== FALSE) { 
      for ($j = 0; $j < count($lineArray); $j++) { 
        $arr[$i][$j] = $lineArray[$j]; 
      } 
      $i++; 
    } 
    fclose($handle); 
  } 
  return $arr; 
} 
 
// Do it
$data = csvToArray($feed, ',');
 
// Set number of elements (minus 1 because we shift off the first row)
$count = count($data) - 1;
 
//Use first row for names  
$labels = array_shift($data);  
 
foreach ($labels as $label) {
  $keys[] = $label;
}
 
// Add Ids, just in case we want them later
$keys[] = 'id';
 
for ($i = 0; $i < $count; $i++) {
  $data[$i][] = $i;
}
 
// Bring it all together
for ($j = 0; $j < $count; $j++) {
  $d = array_combine($keys, $data[$j]);
  $newArray[$j] = $d;
}
 
// Print it out as JSON
echo json_encode($newArray);
 
?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Если цен не больше пары десятков, то проще взять легковесную cms в стиле https://github.com/Elias-Black/Landing-CMS
либо просто обойтись конфигурационным файлом в csv формате
Ответ написан
Комментировать
@AnneSmith
самая ленивая
json - обычный текстовый файл, если цен немного, то хватит за глаза
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы