zip13

zip13
Рейтинг
89
Регистрация
16.02.2012
Zaandr:
Я почитал прошлые темы и даже понимаю идею гугл-табличек для домохозяек, но вопрос, почему без php? Пусть будут таблицы и простой скрипт в одном файле, который будет все запрашивать, кешировать и генерить статический сайт?

можно и с Php и с Node.js . Есть даже пара готовых Php модулей для оправки почты и сохранения магазина. Но у гугл табличек есть своя "серверная" часть. И в принципе ее функционала достаточно.

Если делать на PHP, цеплять по одной строчке из таблицы и генерить страничку, то обращение к "базе" (табличке) нужно делать при каждом переходе между страничками. У бесплатного гугла есть ограничение на количество "бесплатных" обращений. Поэтому табличка высасывается целиком при первом обращении в несколько асинхронных потоков и сразу вся "расставляется" по местам. Весит такой вариант на порядок больше, зато отыгрывает скорость если пользователь делает переходы или когда идут выборки и сортировки по цене, названию,цвету итд. То есть когда вся база у клиента, его компьютер сам может искать в ней позиции и сортировать их без обращения к базе.

yet_warm:
Глюк выскакивает:

Спасибо. Поправил. И кто видео лайкнул тоже спасибо.

Sitealert:
Опять ты со своим одностраничником?

Никогда не знаешь каким тебя запомнят :)

Samail:
Что-то для старушки слишком сложно мне кажется, она ещё на первом пункте чертыхаться начнёт увидев в табличке загадочные письмена:
<a style=' font-family: "fontawesome"; font-size:1.5em;'>***xf232;</a></b> 

Дык это просто показать, что хтмл код нормально магазин читает. Его можно не использовать.

Там есть еще ячейка с CSS стилями, гул формой вики-разметкой итд все можно убрать, упростить и свести к базовому варианту. Можно сделать несколько страничек доноров с общим бан-листом, чтобы блокировать ненужных пользователей.

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

Sitealert:
От этого она не станет платформой для интернет-магазинов. Просто неудобно с ней работать. Админка никакая, ни характеристик товара толком не загрузишь, ни изображений - фактически это онлайн-прайс, не более того.

Онлайн-прайс - это уже что-то...

Товары и разделы удобно заливать обычной excel табличкой без макросов и всяких сложностей. Нужна новая характеристика, просто добавляешь новый столбик в табличку и во вкладку импорта. Сделаю урок для бабушек -"Магазин из прайса в Excel" :kozak:

Суть поста не "зацените какой я молодец" а "смотрите страничка в 4mb и 1200+ товаров не тормозит и поиск на ней тоже быстрый".

Не тормозит же?

Sitealert:
Если говорить за телефон, то тормоза больше зависят не от возраста телефона, а от сети. И не у всех безлимитный трафик, а Вы заставляете грузить мегабайтами совершенно ненужную информацию. И это ещё при том, что у Вас картинки убогие.
И к слову сказать, Вы используете эту CMS совершенно не по назначению. Она задумывалась для личных записок, типа ежедневника.

---------- Добавлено 09.11.2017 в 14:12 ----------

И вообще, не надоело 3 года пиарить здесь свой "интернет- магазин для старушек"? Много старушек с сёрча заинтересовалось?

Если быть точнее не мегабайтами, а 0,5 мегабайта если в магазине 1200 товаров :) В этом и волшебство. Весь код очень хорошо пережимается на стороне сервера и магазин весит не больше картинки jpeg, которую сервер пережать не может. Первая страничка обычного магазина, если сервер будет не очень загружен, теоритически может загрузится быстрее. Но вот вторая уже ТОЧНО нет. Если клиент вашего магазина просматривает в среднем 2+ страницы, то ☝

Старушек было несколько и им не понравился "розовый поросячий цвет", после этого базовый шаблон стал фиолетовым... К счастью, в основном попадаются адекватные дяди.

А вообще очень здорово, что вы следите за темой и знаете про Tiddlywiki. И я действительно хочу, чтобы об этой бесплатной платформе узнало как можно больше людей.

ibatanov:
zip13, по моему, то что вы хотели сделать, делается на чем то из reactjs, angularjs, vuejs и тому подобных, но не как не такой кучей хардкода дикого.

Спасибо. Полезная информация. Вот цитата отсюда https://habrahabr.ru/post/249107/

__________

Если вы разрабатывает публичный сайт или приложение, и вы рендерите все на клиенте, то вы выбрали неправильный путь. Клиентский рендеринг — это причина, почему SoundCloud работает медленно, и почему Stack Overflow (используя только серверный рендеринг) работает так быстро. Вы можете рендерить React на сервере, и вы должны этого делать.

___________

Это уже звучит как аксиома. "не рендери на стороне клиента" все будет тормозить!!! Никто это даже не проверяет. Я рендерю 3 железнодорожных состава данных в самых извращенных вариантах и ничего особо не тормозит даже на моем старом телефоне. Что я делаю не так?

И да, я ленивый :)

Алексей Фоменко:
Бедные потенциальные клиенты данного мага.
Сейчас зашёл. Моментально повис ...

Так в том то и дело, что нет ни одного недовольного заказчика. Всем надо "здесь посветлее" "здесь допишите" нет никакой мотивации изучать что-то сверх, когда и этого всем хватает. Все заказчики знают Excel и просто в восторге от того, что можно забить товары в табличку, самостоятельно закинуть в магаз и "ахалай-махалай" она превращается в плитки товаров. Для них, если картинка в слайдере сама меняется, значит сайт динамичный, и я никак не собираюсь их в этом разубеждать.

Один заказал и открыл ИМ доставки еды в одном городе и бизнес пошел. Он открыл еще 2 в соседних городах на той же самой старинной версии хига, но уже без моей помощи. На мое предложение обновиться БЕСПЛАТНО до последней версии и получить кучу новых плюшек, получил "Нафига, всё и так работает"

Возможно у меня просто такая ниша, и нормальному человеку не придет в голову заказать у меня что-то более технологичное. Нет спроса = нет предложения.

можно оправлять форму через php

У меня для этого файлик mail.php вида

<?php

if(isset($_POST['rsubmit'])) {
$header = array(
"MIME-Version: 1.0",
"Content-Type: text/html;charset=utf-8"
);





$title = 'Заказ в магазине ';

$messtext = " <h3>Спасибо за ваш заказ! Наш менеджер свяжется с Вами в течение часа.</h3> <br><br>";

$table=$_POST['manager_comments'];
$table = str_replace("[", "<tr bgcolor='#FFFFFF'><td>", $table);
$table = str_replace("]", "</td></tr>", $table);
$table = str_replace("|", "</td><td>", $table);

$mess = $messtext ."\n<b>Номер заказа: </b>" .substr(htmlspecialchars(trim($_POST['order_number'])), 0, 100) ."\n<br><b>Имя: </b><tr></tr>" .substr(htmlspecialchars(trim($_POST['name'])), 0, 100)."\n<br><b>E-mail адрес: </b>" .substr(htmlspecialchars(trim($_POST['email'])), 0, 100)."\n<br><b>телефон: </b>" .substr(htmlspecialchars(trim($_POST['telephone'])), 0, 100)."\n<br><b>адрес доставки: </b>" .substr(htmlspecialchars(trim($_POST['delivery_adress'])), 0, 10000)."\n<br><b>ссылка на заказ: </b>" .substr(htmlspecialchars(trim($_POST['link_for_your_order'])), 0, 10000)."\n<br><b>комментарии: </b>" .substr(htmlspecialchars(trim($_POST['client_comments'])), 0, 10000) ."\n<br><b>Заказ:</b> <br> \n" ."<table border='0' align='left' cellspacing='1' bgcolor='#000000' >" .$table ."</table>" ;


$to = $_POST['email'];

$from=$_POST['shopmail'];

$headers = "Content-type: text/html; charset=utf-8 \r\n";
$headers .= "From: Магазин <". $from . ">\r\n";






mail($to, $title, $mess, $headers);
mail($from, $title, $mess, $headers);
echo 'Спасибо! Ваш заказ отправлен.';





}
?>

а код формы такой

<iframe name="my_iframe" style="display:none;"></iframe>

<form action="ПУТЬ ДО ФАЙЛИКА/mail.php" method="post" name="form" id="formid" target="my_iframe" style="display:none;">
Почта магазина
<input name="shopmail" title="" dir="auto" aria-label="shopmail" type="text" value="ПОЧТА@МАГАЗИНА">
<input name="order_number" title="" dir="auto" aria-label="order_number" type="text" value="">
<input name="name" title="" dir="auto" aria-label="name" type="text" value="">
почта клиента
<input name="email" title="" dir="auto" aria-label="email" type="text" value="">
<input name="telephone" title="" dir="auto" aria-label="telephone" type="text" value="">
<input name="delivery_adress" title="" dir="auto" aria-label="delivery_adress" type="text" value="">
<input name="link_for_your_order" title="" dir="auto" aria-label="link_for_your_order" type="text" value="">
<textarea name="client_comments" style="width: 70%; resize: vertical;" dir="auto" aria-label="client_comments" rows="8"></textarea>
<textarea name="manager_comments" style="width: 70%; resize: vertical;" dir="auto" aria-label="manager_comments" rows="8"></textarea>
<input type="submit" name="rsubmit" value="Готово">
</form>

от спама защиты нет и вариант довольно примитивен.

Второй вариант - это мои любимые гугл формы. Создаете в конструкторе гугл форму, переносите ее к себе на сайт. Добавляете скрипт и получаете себе на почту все ответы формы. Плюс бонусом собирается замечательная табличка с ответами. Код скрипта есть на моем сайте.

Да, чушь. Да, ересь. Но ведь заказчик этого не увидит. Он зайдет на свой сайт. Кнопки нажимаются, картинки открываются (он даже не поймет, что все время на одной и той же страничке находится). С сео тоже все отлично будет. Есть кнопуля, которая нарезает это хозяйство на много маленьких страничек (+sitemap) и ставит JS редирект c них на основной тяжелый файл. Поисковики все это увидят, уже проверено.

Минус для клиентов магазина в том, что они по сути грузят к себе магазин целиком (без картинок) даже если посмотрели один товар. Но даже эти 4 мб пережимаются на стороне сервера до 0,5 мб и это вполне сопоставимо с размером одной картинки хорошего качества.

Этой штукой (не я ее придумал) сильно упростил себе жизнь. Но на совести всё равно как-то неспокойно....

Всего: 112