Задать вопрос
  • Как быть, если клиент после сделанной мной работы заплатил деньги и через некоторое время требует дополнить сайт и при этом не хочет платить деньги?

    @NMNH
    Сапиенс сапиенс
    Судя по всему, это Ваш первый "забывчивый" заказчик. С почином ))
    Как верно вверху, заметили - "главное - НЕ ПАНИКОВАТЬ!!!11" и не делать глупостей, типа возврата денег или удаления сайтов. Поверьте на слово: это далеко не последний Ваш такой клиент, если Вы планируете работать на этой стезе, а позже будут еще кидалы, мозгоеды, зануды и другие прекрасные категории заказчиков ))
    Но как бы ни было тяжело общаться, важно быть вежливым, формальным и помнить простое правило: вся работа только за деньги. Есть деньги - есть тема обсуждения, нету денег - пусть обращаются в Лигу сексуальных реформ )
    Ответ написан
    Комментировать
  • Как быть, если клиент после сделанной мной работы заплатил деньги и через некоторое время требует дополнить сайт и при этом не хочет платить деньги?

    lukoie
    @lukoie
    Вообще не понимаю сути проблемы.
    Говорите "хорошо, сделаю, это будет стоить Н денег". И всё.
    Ответ написан
    Комментировать
  • Как быть, если клиент после сделанной мной работы заплатил деньги и через некоторое время требует дополнить сайт и при этом не хочет платить деньги?

    Jump
    @Jump
    Системный администратор со стажем.
    Блин как мне этим дебилам, извините за выражение, объяснить что это делается не бесплатно..
    Просто сказать что это стоит денег. Если не поймут повторить. Если все равно не понимают можно написать - в письменном виде иногда лучше воспринимается информация.

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

    Уже решаю вообще отдать им деньги которые мне заплатили за работу и удалить с хостинга сайт
    Не понятно где логика в этом решении. Но если так нужно можно и удалить.
    Ответ написан
    Комментировать
  • Как быть, если клиент после сделанной мной работы заплатил деньги и через некоторое время требует дополнить сайт и при этом не хочет платить деньги?

    @zuart
    ... уже и не знаю, нуп, похоже ...
    Скажу отчасти то, что сказали выше, но с небольшим отступлением:
    1. Никогда не стоит срываться и что-то там возвращать и удалять то, что сделали. Вам платят не за нечто "материальное", которое можно взять в руки, а платят в первую очередь за ВРЕМЯ и НЕРВЫ, которые вы тратите на работу, а вот это никто не вернет, даже короткое ощущение "эйфории, что типа вот я забрал то, что сделал"...
    2. Никогда не выходите на конфликт с даже самым вредным заказчиком. Оговорили условия "на берегу", получили четкий список работ, за которые получите деньги. Все "вот у нас есть сейчас такой материал, а потом появится еще и надо будет добавить" обсуждаете в формате "ок, тогда сумма с текущим материалом такая, если хотите потом моими силами добавить - сумма вот такая... или пока делаем по такой цене, а потом за отдельную плату добавлю то, что скажете". И все - баста... не нравится - пусть ищут другого исполнителя....
    3. Снова не выходите на конфликт уже после рассчета. И уж тем более не стоит мстить... Поначалу может показаться, что эти поведение "терпилы", однако мой жизненный опыт показал, что заработанная репутация достойного исполнителя передается по "сарафанному радио" и приводит клиентов лучше рекламы. И часто даже по истечение нескольких лет мне звонят старые клиенты и просят выполнить что-то по сайтам, переводят оплату заранее, с нужными доступами никаких проблем не возникает, т.к. просто знают - что я уважаю в первую очередь себя и не опускаюсь до "да я тебе жизнь испоганю"...
    Ответ написан
    Комментировать
  • Как быть, если клиент после сделанной мной работы заплатил деньги и через некоторое время требует дополнить сайт и при этом не хочет платить деньги?

    @sw23
    Ничего возвращать не надо, просто добавляете их в игнор и живете дальше. Такие неадекватные клиенты бывают во всех сферах деятельности, благо если работаешь дистанционно их можно просто заблокировать.
    Ответ написан
    3 комментария
  • Как быть, если клиент после сделанной мной работы заплатил деньги и через некоторое время требует дополнить сайт и при этом не хочет платить деньги?

    KevlarBeaver
    @KevlarBeaver
    Разработчик
    И тут он требует, чтобы я дополняла сайт информацией через 2 месяца после сделанной работы

    Спроси у него: "ты кто?"

    Уже решаю вообще отдать им деньги которые мне заплатили за работу

    Ты сделала работу, тебе заплатили. Всё, конец истории.

    и удалить с хостинга сайт.

    Ни в коем случае не лезь никуда, что принадлежит заказчику. Удаление сайта вообще можно квалифицировать как уголовку. Просто заблокируй к чертям собачьим все его контакты и забудь.
    Ответ написан
    2 комментария
  • Как быть, если клиент после сделанной мной работы заплатил деньги и через некоторое время требует дополнить сайт и при этом не хочет платить деньги?

    y0u
    @y0u
    dev
    Уже решаю вообще отдать им деньги которые мне заплатили за работу и удалить с хостинга сайт.


    Что это за бред? Работу сделали? Да. Вам заплатили? Да. Клиенту нужна новая работа? Должен заплатить.
    Не хочет платить? Не делайте работу.
    Каким боком здесь "отдать деньги и удалить сайт с хостинга" я понять не могу. Даже теоретически, как это поможет решить ситуацию?

    Как мне им, объяснить что это делается не бесплатно.

    Словами. И нет, я не издеваюсь. У вас есть определенные условия работы - вы их озвучиваете клиенту. Если его не устраивает - он найдет то, что его устраивает.

    Я вот, вроде, и написал какой-то ответ, но смысла вашего вопроса так и не понял. С такими вопросами, мне кажется, лучше ходить на форум, потому как это специализированный сервис, как по мне. Ваш вопрос похож на вопрос из разряда "просто поговорить".
    Ответ написан
    3 комментария
  • Как быть, если клиент после сделанной мной работы заплатил деньги и через некоторое время требует дополнить сайт и при этом не хочет платить деньги?

    @Otrivin
    junior full-stack сисадмин
    Объяснить, что работа по ТЗ была сделана, и что сейчас Вы заняты на других проектах, и каждая минута, которую Вы посвящаете работе, оплачена работодателем. Сейчас у Вас просто нет бесплатного времени.

    Если сайт на CMS, можно вкратце скринами показать, как менять инфу.

    Если планируете дальше с этим человеком работать - можно искать компромиссы, если нет и заказчик требует объемного наполнения сайта, выставлять прайс. Тем более, за наполнением последует просьба прикрутить какой-нибудь слайдер или табы, что дополнительно выльется в разработку + доверстку
    Ответ написан
    2 комментария
  • Как устранить ошибку Unknown Property – yii\base\UnknownPropertyException Getting unknown property: yii\db\ActiveQuery::all?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    app\components\MenuWidget
    это кастомный виджет к yii не имеющий ни малейшего отношения. Что там внутри него криво - только автору известно. Вы хоть код бы дали.
    Ответ написан
    6 комментариев
  • Чем вызвана такая ошибка 'The "dataProvider" property must be set.'?

    Blacknife
    @Blacknife
    I born, raised...
    return $this->render('index', $vars, ['dataProvider' => $dataProvider]);

    метод render принимает лишь 2 параметра, а у вас их 3 откуда-то, сделайте мерж вашей переменной с провайдером в массив $vars, но лучше вообще от лишней переменной избавиться

    $this->layout = 'page';
    
    $user = User::find()->where(['username' => $_GET['username']])->one();
    if ($user === null) {
         throw new NotFoundHttpException();
    }
    
    $setting = UserSettingHelper::get($user);
            
    $dataProvider = (new TicketHead())->dataProviderUser();
           
    Url::remember();
    
    return $this->render('index', [
        'user' => $user,
        'setting' => $setting,
        'dataProvider' => $dataProvider
    ]);
    Ответ написан
    1 комментарий
  • Не удаётся запустить миграции?

    myks92
    @myks92 Куратор тега Yii
    Нашёл решение — пометь вопрос ответом!
    У вас проблема в том, что к полю, на который вы вешаете ключ имеет атрибут UNSIGNED. Уберите его и будет все хорошо!
    Ответ написан
    2 комментария
  • Как в Yii2 поменять ID на slug/alias в url?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Вы имеете в виду адрес домен/контролер/id на домен/контролер/какойтотекст?
    У меня решилось путем изменения в urlmanager
    '<controller:\w+>/<id:\w+>' => '<controller>/view',

    на
    '<controller:\w+>/<id>' => '<controller>/view',
    Ответ написан
    3 комментария
  • Я сдалась... Getting unknown property: app\models\forms\SignupForm::name?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Проблема в том, что где-то Ваш код обращается к свойству name объекта app\models\forms\SignupForm А его там нет. Если Вы посмотрите весь стек, а не его последнюю запись, то увидите где именно Вы к нему обращаетесь.
    У меня есть идея что это
    <?= $form->field($model, 'name', ['inputOptions' => ['class' => 'form-control', 'id' => 'name']])->textInput(['placeholder' => "Ваше имя"])->label(false); ?>

    Происходит это видимо из-за того, что в экшене при рендере
    return $this->render('index', [
                'model' => $model,
            ]);

    Вы в $model имеете не ContactForm, как Вы ожидаете, а SignupForm. Так как
    $model = new SignupForm();
    Но не факт, в ошибке есть точные данные. Дайте полный стек вызовов из ошибки, если сами не можете найти.
    Ответ написан
    2 комментария
  • Я сдалась... Getting unknown property: app\models\forms\SignupForm::name?

    @AlexndrNovikov
    Solution Architect in Spiral Scout
    второй блок кода
    <?= $form->field($model, 'name', ['inputOptions' => ['class' => 'form-control', 'id' => 'name']])->textInput(['placeholder' => "Ваше имя"])->label(false); ?>


    видимо должно быть

    <?= $form->field($model, 'username', ['inputOptions' => ['class' => 'form-control', 'id' => 'name']])->textInput(['placeholder' => "Ваше имя"])->label(false); ?>


    Или же если нет (так как код класса не приведен точно не могу сказать) - просто соответствовать полям модели SignupForm по наименованию
    Ошибка просто говорит, что в классе SignupForm нет поля name, но первый блок кода пытается его вывести и ругается
    Ответ написан
    Комментировать
  • Я сдалась... Getting unknown property: app\models\forms\SignupForm::name?

    @Arik
    что за модель?
    return $this->render('index', [
                'model' => $model,
            ]);


    намного яснее было бы

    return $this->render('index', [
                'сontactForm' => $сontactForm,
                'signupForm' => $signupForm,
            ]);


    что-то мне подсказывает что это и есть проблема, вы переписываете переменную model и ждете форму, которой уже нет (переписали)
    Ответ написан
    1 комментарий
  • Почему phpStorm перечёркивает синтаксис "className" в yii2?

    @sidni
    Php Developer
    Потому как разработчики посчитали ее деприкейтед и приняли решение правильным будет использовать появившееся в 5.5.0 версии пхп нативное выражение
    Widget::class
    Ответ написан
    Комментировать
  • Нужно перенастроить форму HTML в ActiveForm yii2?

    slo_nik
    @slo_nik Куратор тега Yii
    Немного сократил Ваш код для генерации формы.
    <?php
       $form = ActiveForm::begin([
           'id' => 'appointment_form',
           'fieldConfig' => [
               'options' => [
                   'tag' => 'span',
                   'class' => 'input input--kohana'
               ],
               'template' => '{input}{label}{error}',
               'inputOptions' => ['class' => 'input__field input__field--kohana'],
               'labelOptions' => [
                   'class' => 'input__label input__label--kohana',
               ]
           ]
       ]);
    ?>
    <?= $form->field($model, 'name')->textInput()->label("<i class=\"icon-phone5 icon icon--kohana\"></i><span class=\"input__label-content input__label-content--kohana\">" . $model->getAttributeLabel('name') . "</span>") ?>
    <!-- ОСТАЛЬНЫЕ ПОЛЯ ФОРМЫ  -->
    <?= $form->field($model, 'body')->textInput()->label() ?>
    <?= Html::submitButton('Submit'); ?>
    <?php
      ActiveForm::end();
    ?>

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

    p.s. Перед этой строкой не надо формировать переменную и потом передавать её в шаблон письма.
    Достаточно просто передать модель.
    // Удалить!!!
       /*   $content = "<p>Email: " . $this->email1 . "</p>";
            $content .= "<p>Name: " . $this->name1 . "</p>";
            $content .= "<p>Phone: " . $this->phone . "</p>";
            $content .= "<p>Datepicker: " . $this->datepicker . "</p>";
            $content .= "<p>Body: " . $this->body1 . "</p>";*/
            if ($this->validate()) {
                Yii::$app->mailer->compose("@app/mail/layouts/html", ["content" => $this])

    И уже в самом шаблоне обработать и сформировать html.
    Ответ написан
    6 комментариев
  • Как в Yii2 прикрутить админку rbac к отдельным модулям с помощью mdmsoft yii2-admin?

    slo_nik
    @slo_nik Куратор тега Yii
    Доброе утро.
    Есть хорошая статья, как добавить rbac на сайт. Без сторонних пакетов, силами одного framework. Как раз используется yii2-basic.
    Ответ написан
    Комментировать
  • Почему yii2 не видит ссылки?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Не надо путь к статике возлагать на yii, зачем? Просто прописывайте путь к файлу, а сервер настройте, что бы он ввел к точке входа только те запросы, для которых нет статики, собственно стандартно так и должно быть:
    https://github.com/yiisoft/yii2-app-advanced/blob/...
    Соответственно картинка будет иметь вид
    <img src="/images/logo.png" />
    При этом сама картинка лежит в корне сайта в папке images. Корень сайта это обычно папка web, там где у Вас точка входа (index.php)
    Метод toRoute который Вы юзаете строит url на основании маршрута, где Вы указываете модуль, контролер, экшен и параметры.
    Ответ написан
    Комментировать
  • Почему yii2 не видит ссылки?

    slo_nik
    @slo_nik Куратор тега Yii
    Добрый вечер.
    Размещайте файлы в web директории, создайте в ней директорию по названию темы и в созданной директории images.
    Получится такой путь к изображениям
    app\web\themes\name_theme\images
    Выводить можно будет так:
    <?= Html::img('@web/themes/name_theme/images/page4_img1.jpg') ?>

    Возможно в Вашем варианте тоже получится использовать псевдоним @web

    p.s.
    Есть ещё пару вариантов с использованием AssetBundl для темы.
    Например есть тема "Portfolio".
    Файлы изображений располагаете по пути app\themes\portfolio\assets\img
    В директории app\assets создаёте файл PortfolioAsset
    class PortfolioAsset extends AssetBundle
    {
    	//public $basePath = '@app/themes/portfolio/assets';
    	//public $baseUrl = '@app/themes/portfolio';
    	public $sourcePath = '@app/themes/portfolio/assets';
    	public $css = [
                'css/bootstrap.min.css',
                'css/stylish-portfolio.css',
                'font-awesome/css/font-awesome.min.css',
                'http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic'
    	];
    	public $js = [
               'js/jquery.js',
               'js/bootstrap.min.js',
               'js/local.js'
    	];
    	public $depends = [
    	];
    }

    Подключаете этот файл в layout темы и создаёте вспомогательную переменную
    $image = PortfolioAsset::register($this);
    Теперь получить изображение можно так
    echo Html::img($image->baseUrl.'/img/portfolio-1.jpg');

    Или, в layout темы создаёте такую переменную
    $theme = $this->theme;
    Расскоментируете в PortfolioAsset строку public $baseUrl = '@app/themes/portfolio'; и получаете изображение уже таким способом
    echo Html::img($theme->getUrl('assets/img/portfolio-4.jpg'));

    В итоге все файлы темы находятся в одном месте app\themes\name_theme\assets и не надо раскидывать их по всему проекту.
    Ответ написан
    2 комментария