Roman 🚀
да нормальная. по началу тяжело, раскрутится
сколько средний чек? заказы крупные или эникей?
Katerina
Я смотрю блог на Ютубе аро апворк, могу скинуть
YS
кидай
Katerina
https://vk.com/richlance
Katerina
Там есть ссылки и на ютуб и блог
Иван
Я ленивая задница 🔻 Ну, не то, чтобы прям ваще ленивая. В Инсту, вон, посты строчить не лень же бывает )) 🔻 Короче, решили мы с пацанами как-то офис снять. Чтобы не дома сидеть в моники пялиться, не отходя от кровати, а чтобы прям по-взрослому так работать. Чтобы было куда водить клиентов. 🔻 Значит, нашли помещение, купили мебель. Заехали, сидим. 🔻 А клиентов, значит, нет! 🔻 День сидим, два, неделя… Скоро уже за новый месяц аренды платить нужно, а клиентов все нет. Ну, т.е. у каждого там по шабашке случается, а так, чтобы на всю нашу команду - ни одного заказа. 🔻 А решили мы типа агентство замутить. Сайты делать, полиграфию и т.п. Дизайнер, ещё один дизайнер и я - верстальщик/веб-разработчик тогда я был. Идея была простая - мол, сядем в офисном центре, на двери табличку «Делаем сайты, визитки и бла бла бла». И заказы попрут! 🔻 В итоге вернулись мы с пацанами по домам работать ) Мораль сей басни: хочешь заказы - ищи клиентов, а не офис снимай. А работать лучше там, где удобно.
Иван
Sergey
У многих тоже самое только заменить офис на сайт. "Вложили кучу денег в сайт" - год проходит, клиентов нет :)
Dmitriy
Не ребята
Dmitriy
Мой modx сам редит делает на https
Dmitriy
Как избавиться?
Dmitriy
ДА нет же
iWatchYouFromAfar
либо ты докодил и написал скайнет, сначала он редиректит на https, а завтра он будет искать джона конора
Dmitriy
# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
Dmitriy
Реально почему-то изменение не сохранилось в последний раз
Arthur
А в чём дело, почему жаль? Что не так с лайтшотом?
Я помню как с помощью питона и lightshot скачивал чужие сигны и данные банковских карт)
Arthur
А, ещё вод. удостоверения, на апворк можно юзануть)
Avent
нука нука
все оказалось намного проще)
Arthur
ты его в банкомат встроил?
Нет, парсер картинок)
Sergey
тоесть юзеры постят даже снимки своих банковских карт?
Arthur
тоесть юзеры постят даже снимки своих банковских карт?
Ну делают скрины на lightshot, там много чего интересного.
Avent
@Electricaev <?php $modx->regClientStartupHTMLBlock(' <script> Ext.ComponentMgr.onAvailable("modx-uberbar", function () { //Переопределяем поле класса this["style"] = { border: "1px solid red" } this["id"] = "megaid"; //Кнопку например this["triggerConfig"] = { tag: "button" ,type: "submit" ,"aria-label": "Go" ,cls: "" } }); </script> ');
Katerina
И что прямо сидел и перекапывал все скрины.
Arthur
И что прямо сидел и перекапывал все скрины.
Не все, они же подгружаются в мой жд прямиком)
Avent
Avent
переопределяешь этим методом любое поведение класса
Avent
и не затрется при обновлении Modx
Avent
поведение класса MODx.SearchBar
Arthur
И что прямо сидел и перекапывал все скрины.
Ну пара десятков удивила содержанием, это хорошо что вы код скрините только)
Avent
в поиск?
iWatchYouFromAfar
в поиск?
не, в пользователи
iWatchYouFromAfar
Arthur
в поиск?
Как тебе идея запилить курсорную пагинацию на Чистом коде?)0
Avent
Во, а таким образом можно вкладки добавлять?
да, туториалов по этой теме - вагон)
Arthur
Ну например?
Скрины сканов, заказов с АлиЭкспресс и т.д.
Avent
тут кокретный пример был по поисковому бару и переопределение уже существующего класса MODx.SearchBar "на лету"
Arthur
Как повезет, это просто тупость юзеров данного сервиса.
iWatchYouFromAfar
Спасибо
Миша
основное это они )
Arthur
ща надо попробовать)
Прочитал про пагинацию?
Aleksandr
Ну делают скрины на lightshot, там много чего интересного.
это только если в облако, если копируется в буфер обмена, то их на хостинге не будет
Aleksandr
Но судя по скринам мало кто знает.
не думал что народ не заморачивается в плане безопасности на таких сервисах, еще бы в альбом в соцсети выкладывали персональные данные
Katerina
Ну я так и скрины переписок находил)
А что тебе дают чужие переписки?
Arthur
А что тебе дают чужие переписки?
Я могу с другого аккаунта потроллить как минимум что взломал акк и знаю что писала жертва например)
Arthur
А что тебе дают чужие переписки?
Чисто пофанится можно
Arthur
imgur?
О, точняк)
Sergey
А что тебе дают чужие переписки?
это азы кул хацкеров - обманывать людей
Aleksandr
это азы кул хацкеров - обманывать людей
социальная инженерия, не такие уж и азы
Arthur
Меня однажды тоже на нож-бабочку с помощью СИ кинул один уебан)
Avent
ну и запросы на поиск так же можно верно?
да, можно переопределить путь к коннектору
Avent
написать свой и там делай что хочешь
Avent
любые поля
Avent
@Electricaev смотри, вот стандартный процессор поиска
Avent
Avent
вот конечный код плагина <?php $modx->regClientStartupHTMLBlock(' <script> Ext.ComponentMgr.onAvailable("modx-uberbar", function () { //Переопределяем store для запросов this["store"] = new Ext.data.JsonStore({ url: MODx.config.connector_url ,baseParams: { action: "search/search2" } ,root: "results" ,totalProperty: "total" ,fields: ["name", "_action", "description", "type", "icon", "label", "class"] ,listeners: { beforeload: function(store, options) { if (options.params._action) { return false; } }, load: function(current, records, options ) { console.log(current, records, options); } } }); }); </script> ');
Avent
создал рядом
Avent
код процессора <?php require_once "search.class.php"; use modSearchProcessor; class modSearchProcessor2 extends modSearchProcessor { public function searchResources() { $type = 'resources'; $typeLabel = $this->modx->lexicon('search_resulttype_' . $type); $contextKeys = array(); $contexts = $this->modx->getCollection('modContext', array('key:!=' => 'mgr')); foreach ($contexts as $context) { $contextKeys[] = $context->get('key'); } $c = $this->modx->newQuery('modResource'); $c->leftJoin('modTemplate', 'modTemplate', 'modResource.template = modTemplate.id'); $c->select($this->modx->getSelectColumns('modResource', 'modResource')); $c->select("modTemplate.icon as icon"); $c->where(array( array( 'modResource.pagetitle:LIKE' => '%' . $this->query .'%', 'OR:modResource.longtitle:LIKE' => '%' . $this->query .'%', 'OR:modResource.alias:LIKE' => '%' . $this->query .'%', 'OR:modResource.description:LIKE' => '%' . $this->query .'%', 'OR:modResource.introtext:LIKE' => '%' . $this->query .'%', 'OR:modResource.id:=' => $this->query, ), array( 'modResource.context_key:IN' => $contextKeys, ) )); $c->sortby('modResource.createdon', 'DESC'); $c->limit($this->maxResults); $collection = $this->modx->getCollection('modResource', $c); /** @var modResource $record */ foreach ($collection as $record) { $this->results[] = array( 'name' => $this->modx->hasPermission('tree_show_resource_ids') ? $record->get('pagetitle') . ' (' . $record->get('id') . ')' : $record->get('pagetitle'), '_action' => 'resource/update&id=' . $record->get('id'), 'description' => $record->get('description'), 'type' => $type, 'class' => $record->get('class_key'), 'type_label' => $typeLabel, 'icon' => str_replace('icon-', '', $record->get('icon')) ); } } } return 'modSearchProcessor2';
Avent
переопределил стандартный процессор
Avent
и там уже можно свои поля добавлять или инклудить что - то чтобы поиск пообширнее был
Arthur
код процессора <?php require_once "search.class.php"; use modSearchProcessor; class modSearchProcessor2 extends modSearchProcessor { public function searchResources() { $type = 'resources'; $typeLabel = $this->modx->lexicon('search_resulttype_' . $type); $contextKeys = array(); $contexts = $this->modx->getCollection('modContext', array('key:!=' => 'mgr')); foreach ($contexts as $context) { $contextKeys[] = $context->get('key'); } $c = $this->modx->newQuery('modResource'); $c->leftJoin('modTemplate', 'modTemplate', 'modResource.template = modTemplate.id'); $c->select($this->modx->getSelectColumns('modResource', 'modResource')); $c->select("modTemplate.icon as icon"); $c->where(array( array( 'modResource.pagetitle:LIKE' => '%' . $this->query .'%', 'OR:modResource.longtitle:LIKE' => '%' . $this->query .'%', 'OR:modResource.alias:LIKE' => '%' . $this->query .'%', 'OR:modResource.description:LIKE' => '%' . $this->query .'%', 'OR:modResource.introtext:LIKE' => '%' . $this->query .'%', 'OR:modResource.id:=' => $this->query, ), array( 'modResource.context_key:IN' => $contextKeys, ) )); $c->sortby('modResource.createdon', 'DESC'); $c->limit($this->maxResults); $collection = $this->modx->getCollection('modResource', $c); /** @var modResource $record */ foreach ($collection as $record) { $this->results[] = array( 'name' => $this->modx->hasPermission('tree_show_resource_ids') ? $record->get('pagetitle') . ' (' . $record->get('id') . ')' : $record->get('pagetitle'), '_action' => 'resource/update&id=' . $record->get('id'), 'description' => $record->get('description'), 'type' => $type, 'class' => $record->get('class_key'), 'type_label' => $typeLabel, 'icon' => str_replace('icon-', '', $record->get('icon')) ); } } } return 'modSearchProcessor2';
Может для кода будешь pastebin использовать?)
Avent
код процессора search2.class.php https://pastebin.com/79PK66SU