• Как вывести статистику посещений/просмотров из Яндекс.Метрики в виде графика?

    @n1ger
    html+css
    Сам не силен в этом всем, но делал на сайт вывод из метрики.
    Сначала сделал файл metrika.php в него вогнал такой код
    <?php
    $today=date("Ymd");
    $metrika_url = "http://api-metrika.yandex.ru/stat/traffic/summary.json?id=айди_вашего_счетчика&pretty=1&date1=Дата_начала_выборки_данных_со_счетчика&date2=$today&oauth_token=ваш токен";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $metrika_url);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    $metrika = curl_exec ($ch);
    curl_close ($ch);
    
    $metrika_o = json_decode($metrika);
    
    
    header('Content-Type: application/json');
    echo 'jsonCallback2('. $metrika . ')';


    После создаем страничку куда будет выводить эти данные.

    в яваскрипт пишем такое
    <script type="text/javascript">
        var link2PHP = "путь_к_файлу/metrika.php";
        var datas2 = [];
        $.ajax ({
            type: "GET",
            url:link2PHP,
            dataType: "jsonp",
            async: false,
            contentType: "application/json",
            jsonp: "callback",
            jsonpCallback: 'jsonCallback2',
            contentType: "application/json",
            success: function(json) {
                $.each(json.data.reverse(), function (index,value){
    
                    var obj2 = {
    
    
                        'date2': value.date,
                        'visits2': value.visits,
                        'visitors2': value.visitors
    
                    };
    
                    datas2.push(obj2);
                    console.log(obj2)
    
                });
            },
            error: function (xhr, ajaxOptions, thrownError) {
                console.log(xhr.status);
                console.log(thrownError);
            }
        });


    И после сами настройки для графика

    var chart = AmCharts.makeChart("chartdiv", {
            "pathToImages": "путь к картинкам графика",
            "type": "serial",
            "theme": "light",
            language: "ru",
            "titles": [{
                "text": "Я.Метрика (Статистика посещений и посетителей)",
                "size": 15
            }],
            "legend": {
                "equalWidths": true,
                "useGraphSettings": true,
                "valueAlign": "right",
                "valueWidth": 120
    
            },
            "dataProvider":datas2,
    
            "valueAxes": [ {
                "id": "visitsAxis",
                "axisAlpha": 0,
                "gridAlpha": 0,
                "labelsEnabled": false,
                "position": "left"
            }, {
                "id": "visitorsAxis",
                "axisAlpha": 0,
                "gridAlpha": 0,
                "inside": false,
                "position": "right",
                "title": "Количество"
            }],
            "graphs": [  {
                "bullet": "round",
                "bulletBorderAlpha": 1,
                "balloonText": "Посетителей:[[value]]",
    
                "legendPeriodValueText": "Всего: [[value.sum]]",
                "legendValueText": "[[value]]",
                "title": "Посетителей",
                "fillAlphas": 0.6,
                "valueField": "visitors2",
                "valueAxis": "visitorsAxis"
            },
                {
                "balloonText": "Посещений:[[value]]",
                "bullet": "round",
                "bulletBorderAlpha": 1,
                "useLineColorForBulletBorder": true,
                "bulletColor": "#FFFFFF",
                "bulletSizeField": "townSize",
                "dashLengthField": "dashLength",
    
                "labelPosition": "right",
                "legendPeriodValueText": "Всего: [[value.sum]]",
                "legendValueText": "[[value]]",
                "title": "Посещений",
                "fillAlphas": 0,
                "valueField": "visits2",
                "valueAxis": "visitorsAxis"
            }],
            "chartScrollbar": {gridCount: 7,
    
                scrollbarHeight: 25,
                graphType: "line",
                usePeriod: "WW",
                backgroundColor: "#333",
                graphFillColor: "#666",
                graphFillAlpha: 0.5,
                gridColor: "#555",
                gridAlpha: 1,
                selectedBackgroundColor: "#444",
                selectedGraphFillAlpha: 1
            },
            "chartCursor": {
                "categoryBalloonDateFormat": "DD MMM",
                "cursorAlpha": 0.1,
                "cursorColor":"#000000",
                "fullWidth":true,
                "valueBalloonsEnabled": true,
                "zoomable": true
            },
            "dataDateFormat": "YYYYMMDD",
            "categoryField": "date2",
            "categoryAxis": {
                "dateFormats": [{
                    "period": "DD",
                    "format": "DD"
                }, {
                    "period": "WW",
                    "format": "MMM DD"
                }, {
                    "period": "MM",
                    "format": "MMM"
                }, {
                    "period": "YYYY",
                    "format": "YYYY"
                }],
                "parseDates": true,
                "minorGridEnabled": true,
                "gridCount":50,
                "autoGridCount": false,
                "axisColor": "#000",
                "gridAlpha": 0.2,
                "gridColor": "#000"
    
            },
    
    
    
            amExport: {
                top: -4,
                right: -6
            }
    
    
        });


    Можно конечно всё расписать и объяснить - но я думаю сможете разобраться, что куда и к чему.

    Ну и в теле самого файла создаем <div id=""chartdiv></div>
    Куда собственно график будет выгружаться.
    Ответ написан
    2 комментария
  • Где найти примеры различных брифов на разработку сайта?

    Очень часто приходится сталкиваться с оценками ТЗ и брифами. Пересмотрел тонну брифов, более-менее адекватный бриф выложил тут. А вообще можно посмотреть в интернете, например:

    www.ms-net.ru/services/brief
    www.fline.ru/Sites/content/Uploads/brief.58CC47EFB...
    cpeople.ru/files/Brief_site_name_CreativePeople.doc
    deaction.com/DMA-brief.pdf
    touradmin.ru/tmp/files/1.doc
    www.inweb.ru/brif.doc
    http://www.melius.ru/fileadmin/user_upload/docs/Те...
    www.dbest.ru/.files/1344/DBEST_RU_Brif.doc
    www.freetz.ru/brief-site-design-3

    Они впринципе похожи друг на друга, можете взять лучшее, на ваш взгляд, из всех брифов и создать свой.
    Ответ написан
    1 комментарий
  • Как генерировать скидочный купон на PHP?

    @zdiii
    Сделал как хотели)
    Вид купона:JFCA-4304790701739
    И так, generate.php создает купон.
    <!doctype html>
    <html lang="ru">
    <head>
        <meta charset="UTF-8">
        <title>Проверка купона</title>
    </head>
    <body>
        <form action="generate.php" method="post">
            Купон до:
            <input type="number" max="31" style="width:5%;" placeholder="31" name="d">        <input type="number" max="12" style="width:5%;" placeholder="06" name="m">
            <input type="submit" value="Создать">
        </form>
        <br><br><br>
        <?php
    if (!isset($_POST['m'])){
        } else {
                    $kupon = $_POST['m'].$_POST['d'];
                    $dr = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0");
                    $drr   = array( "A", "B", "C", "D", "E", "F", "G", "H", "I", "J");
                    $data = str_replace($dr, $drr, $kupon);
                    $kupon2 = $kupon * 79 * 89 * 99 * 99 * 99;
                    $kupon2 = "$data-$kupon2";
                    echo "Ваш купон: \"<b>$kupon2</b>\"";
    };
    ?>
    </body>
    </html>

    сохраняете код в виде generate.php .

    Далее, proverka.php проверяет купон на действительность.
    <!doctype html>
    <html lang="ru">
    <head>
        <meta charset="UTF-8">
        <title>Проверка купона</title>
    </head>
    <body>
        <form action="proverka.php" method="post">
            Введите купон:
            <input type="text" style="width:50%;" placeholder="88e3e18656d274a70518ecdcaf01aec5" name="kupon">
            <input type="submit" value="Проверить">
        </form>
        <br><br><br>
        <?php;
    if (!isset($_POST['kupon'])){
        } else {
                  $kupon = substr($_POST['kupon'], 0, 4);
                  $date = date("md");
                  $dr = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0");
                    $drr   = array( "A", "B", "C", "D", "E", "F", "G", "H", "I", "J");
                    $data = str_replace($drr, $dr, $kupon);
                    
                  $kupon2 = $data * 79 * 89 * 99 * 99 * 99;
                  $kupon2 = "$kupon-$kupon2";
                  if ($_POST['kupon'] == $kupon2) {
                            if($data>=$date){
                                                  echo "<h1>Действительный купон!</h1>";
                                                  } else {
                                                  echo "<h1>Недействительный купон!</h1>";
                            };
                  } else {
                  echo "<h1>Недействительный купон!</h1>";
                  }
    };
    ?>
    </body>
    </html>

    сохраняете код в виде proverka.php .
    Заливаете на сервер два файла.
    Юзайте) Вопросы задавайте, отвечу)))
    Могу модифицировать как пожелаете))) Конечно, за небольшую яндекс.деньги)
    mail: marketing-kg@yandex.com
    Ответ написан
  • Для чего код написали таким образом?

    CrazySquirrel
    @CrazySquirrel
    Вся суть "построчной" оплаты труда в двух строчках :-)
    Ответ написан
    Комментировать
  • Как вывести шаблон категории WordPress с разделением записей по годам?

    <?php
    $year = '';
    if (have_posts()) : while (have_posts()) : the_post();
    $current_year = get_the_date( 'Y' ); 
    if ( $year != $current_year ) echo '<h4>---' . $current_year . '---</h4>';
    ?>
    	
        <article <?php post_class() ?> id="post-<?php the_ID(); ?>">
                                
            <h2><?php the_title(); ?></h2>
                                
        </article>				
    <?php
    $year = $current_year;
    endwhile; endif; ?>
    Ответ написан
    1 комментарий