• Переадресация на 404 если такого урла не существует, как лучше сделать?

    ws17
    @ws17 Автор вопроса
    Так проблему решил таким способом:

    .htaccess
    ErrorDocument 404 /404.php

    в 404.php
    добавил
    <?php header("HTTP/1.1 404 Not Found"); ?>

    Но есть проблема с переадресацией с несуществующего урла на 404.
    Переадресация работает, проблема в урл, допустим я пишу так сайт.ру/gfgfgf урл которого нет, он по идеи должен делать переадресацию на сайт.ру/404.php, он ее делает, но урл не меняет.
    Ответ написан
    Комментировать
  • Как сделать правильную ссылку для скачивания xls, для айфона?

    ws17
    @ws17 Автор вопроса
    Вот такой вариант подъехал, но там про pdf, но можно заменить на .xls

    Может кому поможет, но мне чет не помогло.

    Файлы pdf открываются в браузере? Решение есть!
    - Как заставить браузер скачивать pdf, а не открывать в браузере?
    - Нужно посылать правильный заголовок.
    Не буду заморачиваться на тонкостях mime типов, и того как браузеры эти типы отрабатывают. Замечу, есть три способа загрузки (скачивания) файлов. Может и ещё есть, но я о них не знаю.

    inline - браузер получает стандартный заголовок соответсвующего mime типа и самостоятельно принимает решение о действих по закачке
    save as - браузер показывает окно выбора места записи файла
    download - браузер закачивает файл без вопроса о выборе места
    Первый способ я не буду описывать, а начну со третьего

    Download. Нужно отдать правильный заголовок
    Рассмотрим два варианта: серверный и скриптовый (отдельно покажу).

    Под серверным я понимаю использование apache, а вернее .htaccess. Т.к. это наиболее удобный способ управления локальным ресурсом

    RewriteRule .*\.pdf$ - [L,T=application/octet-stream]

    Оапппа. и все работает. Pdf файлы молча скачиваются.

    Если хотите - добавляйте свои типы в правило, например

    RewriteRule .*\.(pdf|mp3)$ - [L,T=application/octet-stream]

    Но!!! А можно и так, переопределить mime тип. Не всегда работает - зависит от настроек хоста

    AddType application/octet-stream .mp3
    AddType application/octet-stream .pdf

    Save as. Нужно отдать правильный заголовок
    Увы, одной строчкой не обойдемся, но на это есть другой метод

    Header set Content-Disposition "attachment"


    Не буду описывать директив. Цель - отдать правильный заголовок для pdf файла.

    Скриптовое решение
    Это применимо, если вдруг... не получается управлять сервером. Да-да, случается такое. Но потребуются накладные расходы

    /* Оформляем ссылку на скачивние */
    <a href="download.php?file=myfile.pdf">

    /* Пишем скрипт */
    <?php
    if (
      !isset($_GET["file"])
      || ($f=$_GET["file"])===false
      || ($fp=@fopen($f,"rb"))===false
      || ($fi=pathinfo($f))===false
      || ($fi["fsize"]=filesize($f))===false
      || strtolower($fi["extension"])!="pdf"
    ) die("Failed");
     
    ob_start();
    header("Accept-Ranges: bytes");
    header("Content-Length: {$fi["fsize"]}");
    header("Content-Type: application/pdf");
    header("Content-Disposition: attachment; filename="{$fi["basename"]}"");
     
    $sent = 0;
    while ( !feof($fp) && $sent < $fi["fsize"] && ($buf = fread($fp, 8192)) != "" ){
      echo $buf;
      $sent += strlen($buf);
      flush();  ob_flush();
    }
    fclose($fp);
    exit;
    ?>


    Добавив, дополнительный параметр в запрос, напрмер type=download или type=saveas определяющий тип закачки, скрипт получится универсальным.
    Ответ написан
    Комментировать
  • При 1000px разрешения экрана появление div тега в html, как сделать?

    ws17
    @ws17 Автор вопроса
    Помутил и нашел решение то что надо, без всяких js и т.д.

    Вот: что мне надо было сделать, адаптивность блоков.
    https://jsfiddle.net/pc4ktm10/3/
    Ответ написан
    Комментировать
  • При клике добавить товар в корзину, как сделать всплывающее окно?

    ws17
    @ws17 Автор вопроса
    Вопрос решен: можно так сделать, window.location.hash = '#win3';
    Ответ написан
    Комментировать
  • При добавлении товара в корзину, как сделать всплывающим попут окно?

    ws17
    @ws17 Автор вопроса
    Вопрос решен: можно так сделать, window.location.hash = '#win3';
    Ответ написан
    Комментировать
  • G-recaptcha, адаптация, есть проблема, как решить?

    ws17
    @ws17 Автор вопроса
    Решил вопрос так.
    Добавил width: 230px; чтобы при определенном разрешение экрана применялся и все было ок.

    .g-recaptcha {
      transform: scale(.83);
      -webkit-transform: scale(.83);
      transform-origin: 0 0;
      -webkit-transform-origin: 0 0;
    }
    @media only screen and (max-width:420px) {
      .g-recaptcha {
        width: 230px;
        transform: scale(.79);
        -webkit-transform: scale(.79);
        transform-origin: 0 0;
        -webkit-transform-origin: 0 0
      }
    }
    @media only screen and (max-width:340px) {
      .g-recaptcha {
        transform: scale(.75);
        -webkit-transform: scale(.75);
        transform-origin: 0 0;
        -webkit-transform-origin: 0 0
      }
    }
    Ответ написан
  • Грамотная разметка адаптивной верстки?

    Кросбрайзерный дизайн, с растягиванием в низ, если контента мало то низ будет как бы пустой, а этот метод растягивает.

    <div class="wrapper">
    <header class="header">
    Верх
    </header>
    
    <main class="content">
    Центр
    </main>
    
    </div>
    
    <footer class="footer">
    Низ
    </footer>
    
    </body>


    <b>CSS с нормализацией.</b>
    
    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;}
    html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}
    article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
    audio,canvas,video{display:inline-block}
    audio:not([controls]){display:none;height:0}
    [hidden]{display:none}
    a{outline:none; text-decoration: none;}
    abbr[title]{border-bottom:1px dotted}
    pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}
    sub,sup{font-size:75%;line-height:0;position:relative}
    sup{top:-0.5em}
    sub{bottom:-0.25em}
    fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}
    button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
    button,input{line-height:normal}
    button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
    button[disabled],input[disabled]{cursor:default}
    input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
    input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
    input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
    button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
    textarea{overflow:auto;vertical-align:top}
    input:focus,button:focus,select:focus,textarea:focus{outline:none}
    table{border-collapse:collapse;border-spacing:0}
    img { border: 0; }
    :focus::-webkit-input-placeholder {color: transparent}
    :focus::-moz-placeholder          {color: transparent}
    :focus:-moz-placeholder           {color: transparent}
    :focus:-ms-input-placeholder      {color: transparent}
    
    *{
      padding: 0;
      margin: 0;
    }
    html{height:100%;}
    * html body{height:100%;}
    
    html, body{
      font-family: tahoma, Helvetica, sans-serif;
      font-size: 14px;
      height: 100%;
      background: #fff;
    }
    .wrapper {
      width: 100%;
      min-width: 1100px;
      min-height: 100%;
      height: auto !important;
      height: 100%;
    }
    .header {
      width: 100%;
      height: 150px;
      background: #ffffff;
    }
    .content {
      padding: 0 0 150px;
    }
    .footer {
      margin: -245px auto 0;
      min-width: 1100px;
      height: 245px;
      position: relative;
    }
    Ответ написан
    Комментировать
  • Как узнать какая иконка иконочного шрифта использована у дизайнера?

    На вот тебе сервис, не епи мозг себе с этими шаблонами, подбирай иконки тут __https://www.flaticon.com
    Ответ написан
    Комментировать
  • Как выровнять пункты меню в одну линию, будучи выровненным по центру?

    Можно так, хотя выше уже много вариантов написали.
    https://jsfiddle.net/h07s4w1t/

    А если в одну линию по вертикали, чтобы все ровно в строку было.
    https://jsfiddle.net/h07s4w1t/1/

    Вот еще вариант, с выравниванием в одну линию все пункты и еще выравнивание текста от значка.
    https://jsfiddle.net/h07s4w1t/2/

    ul,li {
        list-style: none;
        margin: 0;
        padding: 0;
        text-align: left;
    }
    a{
        text-decoration: none;
        color: inherit;
    }
    
    .list{
        width: 400px;
        margin: 0 auto;
        font-size: 20px;
        text-align: center;
    }
    Ответ написан
    2 комментария
  • Как сделать такую карусель и слайдер?

    Можно взять любой слайдер, и изменить стрелки и т.д, вообще с любого сделать можно, но лучше взять более подходящий.
    Ответ написан
    Комментировать
  • Анимация на сайта, теги а, див кнопки, ul, li, input и т.д, кто как делает?

    ws17
    @ws17 Автор вопроса
    Можно конечно по проще сделать, переработал и сделал так.

    a, b, strong, h1, h2, h3, h4, h5, h6, i, div, input, textarea, button, select{
      text-decoration: none;
      -webkit-transition:color 200ms linear 0ms, background 200ms linear 0ms, border 200ms linear 0ms;
      transition: color 200ms linear 0ms, background 200ms linear 0ms, border 200ms linear 0ms;
    }
    
    a img {
      -webkit-transition:opacity 200ms linear 0ms;
      transition: opacity 200ms linear 0ms;
      opacity:1; 
      -moz-opacity:1; 
      filter:alpha(opacity=100);
    }
    a img:hover{
      -webkit-transition:opacity 200ms linear 0ms;
      transition: opacity 200ms linear 0ms;
      opacity:0.5; 
      -moz-opacity:0.5; 
      filter:alpha(opacity=50);
    }


    вроде все ок, везде как работало и работает.
    Ответ написан
    Комментировать
  • Микроразметка отзывов о компании, как оформить правильно?

    ws17
    @ws17 Автор вопроса
    не, так ошибок еще больше.

    microdata
    ОШИБКА: невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop

    itemType =
    itemreviewed
    medicalorganization
    ПРЕДУПРЕЖДЕНИЕ: Не выполнено обязательное условие для структурированных сниппетов Яндекс.Справочника: поле name отсутствует или пусто
    ПРЕДУПРЕЖДЕНИЕ: Не выполнено обязательное условие для структурированных сниппетов Яндекс.Справочника: поле address отсутствует или пусто
    itemType = schema.org/MedicalOrganization
    review
    review
    ПРЕДУПРЕЖДЕНИЕ: поле itemReviewed отсутствует или пусто
    itemType = schema.org/Review
    datepublished = 2018-05-10
    name = Отзывы наркологического центра
    author
    person
    itemType = schema.org/Person
    name = Игорь Николаевич
    reviewbody = Хочу поблагодарить врачей клиники за их высокий профессионализм. Благодаря специалистам уже больше года как не пью, а до лечения без алкоголя не мог п...
    Ответ написан
    Комментировать
  • Адаптация контента и отцентровка фото, как сделать (оцинтровку при сжатии экрана)?

    ws17
    @ws17 Автор вопроса
    Черезе js решил вопрос.

    function resize_document(){
    				var width = $(window).width();					
    				
    				if (width < 600){
    					$(".catinf img").addClass('img_minimize');					
    				}else{			
    					$(".catinf img.img_minimize").removeClass('img_minimize');	
    				}
    			}
    	  		resize_document();
    	  
    			$(window).resize(function(){
    				resize_document();
    			});


    .img_minimize{
    	float:none!important;	
    	display: block!important;
        margin: 0 auto!important;	
    	margin-top: 5px!important;
    	margin-bottom: 10px!important;
    }
    Ответ написан
    Комментировать
  • Адаптивный товар в корзине, есть проблема с жатием блоков, как решить?

    ws17
    @ws17 Автор вопроса
    Сделал как я хотел, адаптивные блоки с товарами в корзине.

    Решение, там фотка фиксирована, но можно убрать у нее
    min-width: 275px;

    codepen.io/anon/pen/PWajeE

    Фулл экран
    e9d3ae57b194489db604c7aa3f2f9add.jpg

    Сжатый экран
    de01fa29f8ef44b5bbd1b1856e390881.jpg

    Под телефоны
    dd9c062c67b74dfc9ba56d93b4a5a0d2.jpg
    Ответ написан
    Комментировать
  • Ббкоде + Lightbox + менеджер загрузок фоток, какой лучше поставить?

    ws17
    @ws17 Автор вопроса
    может какой плагин есть который к кедитору подключить можно и вставлять миниатюры и по клику чтобы она увеличилась.

    Есть вот такие плагина типа Quick Preview Upload и Easy Preview Upload, но они платные, может есть ломаные?
    Ответ написан
    Комментировать
  • Kohana, вывод товаров, как вывести заголовки один раз?

    ws17
    @ws17 Автор вопроса
    Вот весь код, и два шаблона вывода товара с полями !
    Ошибка вот какая: c2n.me/3BUoHos

    <?php
    //разделили на группы
    $productsGroups = array(
    array_filter($productsFound, function($p){
      return $p->moshnostkvt;
    }),
    array_filter($productsFound, function($p){
      return $p->proizvoditm3;
    })
    );
    ?>
    
    <?php if (count($productsGroups)>0) : ?>
    <div class="allcentr">
    <div class="allcentrc">
    <div class="akciifullinfo">
    <div class="akciifullinfot">
    <h2><?= $cat->name ?></h2>
    
    <?php foreach($productsGroups as $key => $productsGroup): ?>
    <?php if($key == 0): ?>
    <center>
    <div class="yovarka">
    <div class="yovarka1">
    <b>Фото</b></div>
    <div class="yovarka2">
    <b>Модель</b></div>
    <div class="yovarka3">
    <b>Мощность, квт</b></div>
    <div class="yovarka4">
    <b>Габариты, Д (База) x Ш x В, мм</b></div>
    <div class="yovarka5">
    <b>Сухой вес (рабочий вес), кг</b></div>
    <div class="yovarka6">
    <b>Подробная информация о товаре</b></div>
    </div>
    </center>
    <?php elseif($key == 1): ?>
    <center>
    <div class="yovarka">
    <div class="yovarka1">
    <b>Фото</b></div>
    <div class="yovarka2">
    <b>Модель</b></div>
    <div class="yovarka3">
    <b>Производит., м3/мин</b></div>
    <div class="yovarka4">
    <b>Давления, МПа</b></div>
    <div class="yovarka5">
    <b>Мощность, кВт</b></div>
    <div class="yovarka6">
    <b>Подробная информация о товаре</b></div>
    </div>
    </center>
    <?php endif;?>
    
    <center>
    <a href="/product/<?= $product->alias ?>" title="<?= $product->prname ?>">
    <div class="yovarkat anim">
    <div class="yovarkat1">
    <b><?php if ($product->getImage()): ?>
    <img src="/media/uploads/small/small_<?php echo($product->getImage(
    )) ?>" alt="<?= $product->prname ?>" title="<?= $product->prname ?>"/>
    <?php else: ?>
    <img src="/media/uploads/noimage.png" alt="нет фото" title="нет фото"/>
    <?php endif; ?></b>
    </div>
    <div class="yovarkat2">
    <h2><?= $product->prname ?></h2></div>
    <div class="yovarkat3">
    <b><?= $product->moshnostkvt ?></b></div>
    <div class="yovarkat4">
    <b><?= $product->gabarity ?></b></div>
    <div class="yovarkat5">
    <b><?= $product->cyzoybec ?></b></div>
    <div class="yovarkat6">
    <b>Подробнее</b></div>
    <div style="clear:both"></div>
    </div>
    </a>
    </center>
    
    <?php foreach ($productsFound1 as $product): ?>
    <center>
    <a href="/product/<?= $product->alias ?>" title="<?= $product->prname ?>">
    <div class="yovarkat anim">
    <div class="yovarkat1">
    <b><?php if ($product->getImage()): ?>
    <img src="/media/uploads/small/small_<?php echo($product->getImage(
    )) ?>" alt="<?= $product->prname ?>" title="<?= $product->prname ?>"/>
    <?php else: ?>
    <img src="/media/uploads/noimage.png" alt="нет фото" title="нет фото"/>
    <?php endif; ?></b>
    </div>
    <div class="yovarkat2">
    <h2><?= $product->prname ?></h2></div>
    <div class="yovarkat3">
    <b><?= $product->proizvoditm3 ?></b></div>
    <div class="yovarkat4">
    <b><?= $product->davlenyempa ?></b></div>
    <div class="yovarkat5">
    <b><?= $product->moshnostkvt1 ?></b></div>
    <div class="yovarkat6">
    <b>Подробнее</b></div>
    <div style="clear:both"></div>
    </div>
    </a>
    </center>
    <?php endforeach; ?>
    <?php endforeach; ?>
    </div>
    </div>
    </div>
    </div>
    <?php endif; ?>
    Ответ написан
  • Уменьшение фото до нужного размера, как настроить обработчик фото?

    ws17
    @ws17 Автор вопроса
    Решение нашел:

    Пересжатие изображения до точных размеров в 32x32
    $image->resize(32, 32, Image::NONE);
    Пересжатие изображения согласно пропорции до размеров 100x100:
    $image->resize(100, 100, Image::AUTO);
    Ответ написан
    Комментировать