Master-X
Форум | Новости | Статьи
Главная » Форум » CJs » 
Тема: Smart CJ для тупых :)
цитата
17/10/14 в 17:31
 IT
LemonS: smail101.gif забыл самое главное написать, в последнее время, что туда не подставляй выводит в топе все-равно signup
цитата
17/10/14 в 18:11
 LemonS
IT: хм, покажите плз темпелйт топа, я протестирую тоже самое.
цитата
17/10/14 в 19:54
 LemonS
IT: думаю проблема не то что общая, но многие могут столкнуться.

код темпелйта примрено такой

<a href='/member/_MEMBER_1_'> _MEMBER_1_ </a>

логично что даже если вместо _MEMBER_1_ оно выведет пустоту то ссылка останется.
Так же вопрос в том, что настройки замены для _MEMBER_1_ при отсутствии мембера в сеттингах нет. С другой стороны если бы и была, то замена просто тага весь остальной html код не убрала бы.

Но если и хорошая сторона

Если вы инклудите это в темплейтах и не хотите руками регулировать кол-во строк, но при этом не выводить лишний код то можно добавить немного пхп

<? if ('_MEMBER_1_' != 'signup') { ?>

<a href='/member/_MEMBER_1_'> _MEMBER_1_ </a>

<? } ?>
цитата
20/10/14 в 01:09
 Wskeal
LemonS: не планируется ли скрыть embed коды каким-нибудь нечитаемым жаба скриптом с ключами или еще как-то, чтоб гуглбот ваще не понял что там эмбед?

Что-то типа как у конкуретного скрипта
function l1553(ug83,pL99){var gBe79='',pfX1,r889,kEd13,nd6,bj88,yEW81,h2416,t776,zU87=0,ww669='',bU12;for(bU12=0;bU12<26;bU12++)gBe79=gBe79+String.fromCharCode('A'.charCodeAt(0)+bU12);for(bU12=0;bU12<26;bU12++)gBe79=gBe79+String.fromCharCode('a'.charCodeAt(0)+bU12);for(bU12=0;bU12<10;bU12++)gBe79=gBe79+String.fromCharCode('0'.charCodeAt(0)+bU12);gBe79=gBe79+'+/=';do{ nd6=gBe79.indexOf(ug83.charAt(zU87++));bj88=gBe79.indexOf(ug83.charAt(zU87++));yEW81=gBe79.indexOf(ug83.charAt(zU87++));h2416=gBe79.indexOf(ug83.charAt(zU87++));t776=nd6<<18|bj88<<12|yEW81<<6|h2416;pfX1=t776>>16&0xff;r889=t776>>8&0xff;kEd13=t776&0xff;if(yEW81==64)ww669+=String.fromCharCode(pfX1);else if(h2416==64)ww669+=String.fromCharCode(pfX1,r889);else ww669+=String.fromCharCode(pfX1,r889,kEd13);}while(zU87<ug83.length);if(pL99==null)return l1553(ww669.substr(Number(ww669.substr(3,2))+7),1);else document.write(ww669);}l1553('ZzhYODZhSHhFNDlGck4xa1VuOXpZV2hHSTJQenhKOXlBcEd4QW81ZXNlVVQyVmVXam93aGxOWTNRTkRud01XN2NERU0xSjF1WVZuMVJDWWEwdXJsaHFwOGUyd0xPUEdsbWNtRnRaU0IzYVdSMGFEMGlOalF3SWlCb1pXbG5hSFE5SWpRNE1DSWdjM0pqUFNKb2RIUndPaTh2ZUdoaGJYTjBaWEl1WTI5dEwzaGxiV0psWkM1d2FIQS9kbWxrWlc4OU16UTBOelV3TUNJZ1puSmhiV1ZpYjNKa1pYSTlJakFpSUhOamNtOXNiR2x1WnowaWJtOGlQand2YVdaeVlXMWxQZz09');


спасёт ли от банов и фильтров неизвестно, но если хоть на 2% уменьшит вероятность банов, то полезно наверное.

Конечно чтоб у всех по разному код генерился, а то снова улетят все сайты разом.
цитата
20/10/14 в 07:40
 Дрон
LemonS: На слейве пропали модели. На мастере есть, если выбрать слейв (в админке мастера), то там пусто. Если на слейве смотреть модели через адмику - они есть. Но на морде слейва в любом случае не выводятся. v1.51 build 201409111007.
цитата
20/10/14 в 10:24
 Alexandr_Mrak
LemonS: нашёл в описание как сделать сайтмап http://smartcj.com/wiki/doku.php?id=ru:new_rotation_hints#как_сделать_sitemap но до конца не вкурил.

он появляется автоматом, после того как в короень его положил? или нужно создать xml файлик пустой?
просто после добавления sitemap.php и при переходе domen/sitemap.php выдаётся сообщение:
Цитата:
This XML file does not appear to have any style information associated with it. The document tree is shown below.

и дальше пусто.

можно более подробно описать как создавать сайтмап? или смарт не создаёт его автоматом? и нужно руками писать?

зы. в темплейтах есть сайтмап с кодом пхп.
цитата
20/10/14 в 11:50
 S_Flash
Alexandr_Mrak:
1) Сайтмап - это такой же темплейт, как и все остальные. Ты можешь оформить его как тебе угодно, просто взяв за пример то, что уже есть.
Вывод сайтмапа на сайте будет вида /scj/index.php?force_template=my_sitemap
где вместо my_sitemap может быть любое твоё имя темплейта с сайтмапом.
Можно сделать реврайт, который завернёт это дело в такой вид
domain.com/sitemap
Это будет что-то типа:
RewriteRule ^sitemap$ /scj/index.php?force_template=my_sitemap

2) Файлик sitemap.php просто несёт в себе уже некий добавочный функционал, основой которого добавить хедер, что данный файл не html, а xml.

Вот тот sitemap.php, что попался мне первым (достаточно загялнуть в него):
<?php

define('CACHE_TIME', 86400); //установка кеша для сайтмапа
$_GET['force_template'] = 'sitemap'; //собственно добавляет в данный файл вывод темплейта с именем сайтмап
$_GET['skip_cell_settings'] = true; // skips cell K calculation - saves a bit of processor time (логично не правдв ли!)
// $_GET['custom_galleries'] = true; // uncomment this line if you need only custom galleries in site map (если нужны только кастом галереи в сайтмапе, а те что FHG не будут включаться)
header('Content-Type: application/xml'); (добавление хедера, что этот файл XML)
include('./tube/index.php');
цитата
20/10/14 в 14:39
 Alexandr_Mrak
S_Flash:
2. ага, то есть я не клинический идиот и добавив в корень сайта sitemap.php должно было всё заработать. (по адресу http://мойдомен/sitemap.php)

но он пустой. и вебмастерс тулс говорит что он пустой.

1. в темплейте стоит sitemap и там прописано:
Цитата:

<? echo '<?xml version="1.0" encoding="UTF-8"?>' ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://<?=$_SERVER['HTTP_HOST']?>/index.html</loc>
<lastmod><? echo date("Y-m-d");?></lastmod>
<changefreq>hourly</changefreq>
<priority>1.0</priority>
</url>
<!--default_1-1000-->
</urlset>

то есть он должен быть доступен по адресу:
мойдомен/scj/index.php?force_template=sitemap
и если я добавлю соответствующее правило то он будет доступен по адресу:
мойдомен/sitemap.xml
верно?
всё это сделал - не доступен )) гдето видимо ошибся или не доделал ))
цитата
20/10/14 в 15:35
 LemonS
Wskeal: я сильно сомневаюсь что это хоть как-то поможет - то что гугл умеет раскодировать и запускать в песочнице JS это - это однозначно.

Но как обычно - дописать не проблема.
цитата
20/10/14 в 15:40
 LemonS
Alexandr_Mrak: мойдомен/scj/index.php?force_template=sitemap

так работает ?

Если не работает то опишите конкнретно как именно не работает тк под это определение попадает все начиная от 404 и заканчивая ошибкой пхп.
цитата
20/10/14 в 15:56
 LemonS
Дрон: отсоединить\присоединить поможет
а вот как пропали - это интереснее, знаете как повторить проблему ?
цитата
20/10/14 в 15:58
 Alexandr_Mrak
LemonS: так не работает. сразу так проверял.
404 выдаёт.
если в корень сайта бросить sitemap.xml то:
/scj/index.php?force_template=sitemap - 404
domen/sitemap.xml - всё показывает.
цитата
20/10/14 в 16:02
 LemonS
Alexandr_Mrak: я не понял как наличие в корне sitemap.xml влияет на /scj/index.php?force_template=sitemap

но если /scj/index.php выдает 404 - а он там есть вообще ? может у вас в другом каталоге скрипт.
цитата
20/10/14 в 16:13
 Дрон
LemonS: Да, так и сделал, помогло. Отчего такое могло случится - не понятно, потому что ничего особо не делалось там... Если появятся какие то мысли - отпишусь.
цитата
20/10/14 в 16:26
 Alexandr_Mrak
LemonS: facepalm.gif чорт
да http://domen/index.php?force_template=sitemap
так выводит.
хех.

а как теперь его скормить поисковикам? ))

чтобы у меня была ссылка для поисковиков:
domen/sitemap.xml

смарт может генерить такой сайтмап или это только правилами в .htaccess рулитть?

Цитата:
RewriteRule ^sitemap$ /index.php?force_template=sitemap


в каком виде ссылка получается?

зы и он получается просто сплошным текстом без xml тэгов
цитата
20/10/14 в 16:31
 LemonS
Alexandr_Mrak: те скрипт в другом каталоге был ?

тогда тут тоже простая невнимательность

Вы пишете что хотите domen/sitemap.xml однако в реврайте

^sitemap$ без расширения
цитата
20/10/14 в 17:04
 Alexandr_Mrak
LemonS писал:
^sitemap$ без расширения

так же думал. по разному уже вставлял.
попробую завтра админа озадачу. и отпишу.
цитата
22/10/14 в 01:24
 cyberdream3
Хочу нового трейдера делать неактивным при добавлении, только ручная активация

делаю как сказано в вики:
http://smartcj.com/wiki/doku.php?id=ru:add_trade

а настройках Settings -> NewTrader выставляю статус NO в поле Active (Status)
для проверки добавляю нового трейдера, но не через админку, а как и регаются трейдеры, через страницу Fast Trade Signup

новый трейдер дальше по умолчанию получает настройку No, till Trade Start Limit

подскажите, что ещё там переключить то icon_rolleyes.gif
цитата
22/10/14 в 01:48
 LemonS
cyberdream3: trade start limit есть у трейдера ? не ноль ?
цитата
22/10/14 в 01:54
 cyberdream3
LemonS:
в New Trade Activation System настройки по умолчанию:
New trade has at least X hits during last 24 hours
стоит 10, как по умолчанию

там ноль должен быть?
или всё это вырубить, настройкой System works?

upd. Поигрался с этими настройками, но чот не меняется нифига
ну поставлю тогда лимит 1 лям, столько не форсит никто
цитата
22/10/14 в 02:29
 LemonS
cyberdream3: нет, поле именно так и называется - trade start limit
цитата
22/10/14 в 02:31
 cyberdream3
LemonS:
Trade Start Limit (Min hits to start trade)
тоже по умолчанию - 20 стоит

поменял на ноль, попробовал добавить, теперь новый трейдер таки по умолчанию получает статус NO
ну наконец то, спасибо за подсказку
её бы в вики добавить, а то не очевидно, имхо icon_rolleyes.gif

Последний раз редактировалось: cyberdream3 (22/10/14 в 02:34), всего редактировалось 1 раз
цитата
22/10/14 в 02:32
 LemonS
cyberdream3: вот она и стартует.
Тут надо 0.
цитата
22/10/14 в 18:43
 LemonS
Wskeal писал:
LemonS: не планируется ли скрыть embed коды каким-нибудь нечитаемым жаба скриптом с ключами или еще как-то, чтоб гуглбот ваще не понял что там эмбед?

Что-то типа как у конкуретного скрипта
function l1553(ug83,pL99){var gBe79='',pfX1,r889,kEd13,nd6,bj88,yEW81,h2416,t776,zU87=0,ww669='',bU12;for(bU12=0;bU12<26;bU12++)gBe79=gBe79+String.fromCharCode('A'.charCodeAt(0)+bU12);for(bU12=0;bU12<26;bU12++)gBe79=gBe79+String.fromCharCode('a'.charCodeAt(0)+bU12);for(bU12=0;bU12<10;bU12++)gBe79=gBe79+String.fromCharCode('0'.charCodeAt(0)+bU12);gBe79=gBe79+'+/=';do{ nd6=gBe79.indexOf(ug83.charAt(zU87++));bj88=gBe79.indexOf(ug83.charAt(zU87++));yEW81=gBe79.indexOf(ug83.charAt(zU87++));h2416=gBe79.indexOf(ug83.charAt(zU87++));t776=nd6<<18|bj88<<12|yEW81<<6|h2416;pfX1=t776>>16&0xff;r889=t776>>8&0xff;kEd13=t776&0xff;if(yEW81==64)ww669+=String.fromCharCode(pfX1);else if(h2416==64)ww669+=String.fromCharCode(pfX1,r889);else ww669+=String.fromCharCode(pfX1,r889,kEd13);}while(zU87<ug83.length);if(pL99==null)return l1553(ww669.substr(Number(ww669.substr(3,2))+7),1);else document.write(ww669);}l1553('ZzhYODZhSHhFNDlGck4xa1VuOXpZV2hHSTJQenhKOXlBcEd4QW81ZXNlVVQyVmVXam93aGxOWTNRTkRud01XN2NERU0xSjF1WVZuMVJDWWEwdXJsaHFwOGUyd0xPUEdsbWNtRnRaU0IzYVdSMGFEMGlOalF3SWlCb1pXbG5hSFE5SWpRNE1DSWdjM0pqUFNKb2RIUndPaTh2ZUdoaGJYTjBaWEl1WTI5dEwzaGxiV0psWkM1d2FIQS9kbWxrWlc4OU16UTBOelV3TUNJZ1puSmhiV1ZpYjNKa1pYSTlJakFpSUhOamNtOXNiR2x1WnowaWJtOGlQand2YVdaeVlXMWxQZz09');


спасёт ли от банов и фильтров неизвестно, но если хоть на 2% уменьшит вероятность банов, то полезно наверное.

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




Вообще я считаю что немного наивно думать что гугл настолько глуп что б не посмотреть, что передается в document.write

Но следуя пожеланиям рассказываю как это добавить в любую версию



1. создаем файл scj/icludes/libs/HtmlHidder.php

код


<?php
/**
* HtmlHidder
*
* Class for hideing html code
* This class is good for hideing html code,
* when you are doing some work, and you
* wouldn't like if someone will copy your work -
* you can protect your code!
*
*
* (C) Jaroslaw Miazga
* Free for non-commercial purposes
* http://the-portal.pl
*/


class HtmlHidder
{
   

    /**
     * Set html code for hide
     *
     * @param string htmlCode
     * @access public
    */
   
    public function setHtmlCode($htmlCode)
    {
       $this->htmlCode = $htmlCode;
    }
   
   
    /**
     * Display random encoded string
     *
     * @return string string
     * @access protected
    */
   
    private function getRandomString()
    {
       $date = date('d-m-y-h-i-s').time().rand(1, 9999).rand(1, 6000);
       $string = md5(sha1($date)).sha1($date).md5($date).md5($date).sha1($date).sha1(md5($date));
      
       return $string;
      
    }
   
    /**
     * Convert string type of variable with html code to array
     *
     * @return array
     * @access protected
    */
   
    private function html2Array()
    {
       $ar = explode("\n", $this->htmlCode);
       return $ar;
    }
   
    /**
     * Convert  array type to string variable with html code
     *
     * @return string
     * @access protected
    */
   
    private function array2Html($array)
    {
       $data = '';
      
       foreach($array as $string)
       {
          $data .= $string;
       }
      
       return $data;
    }
   
    /**
     * Replace all lines from html inputed code on random string with javascript code
     *
     * @param array, Arrays from html2Array() method
     * @return string, encoded html code
     * @access private
    */
   
    private function replaceKeys($array)
    {
       foreach($array as $key=>$value)
       {
          $r=$this->getRandomString();
          $value = trim($value);
          $new[$key] = <<<STR
          <script>var _x$r='$r';document.write('$value');var _xx$r = '$r';</script>
STR;
       }
      
       return $new;
    }
   
    /**
     * Start main process of hideing html code
     *
     * @return hided html code
     * @access public
    */
   
   
    public function hide()
    {
       if(!empty($this->htmlCode))
       {
          $array = $this->html2Array();
          $array = $this->replaceKeys($array);
         
          $output = trim($this->array2Html($array));
         
          return $output;
       }
       else
       {
          return 'Input is empty';
       }
    }
   
}
?>



2. в темпелйте там где надо закодить ембед



<?php

require_once(BASE_DIR  . '/includes/libs/HtmlHidder.php');

$htmlSource = <<<S
<!--EMBED_CODE-->
S;

$html = new HtmlHidder();
$html->setHtmlCode($htmlSource);
echo $html->hide();

?>



Оно выведет закоденный код в нужном месте. В исходнике можно видеть что ключ кодирования будет разный каждый раз.


В новой версии эта либа будет добавлена в инсталл.
цитата
27/10/14 в 19:07
 Next
LemonS: как в темплейте вывести определенную группу зная ее номер id ?
дай готовый код плиз, я не кодер icon_sad.gif
Стр. « первая   <  249, 250, 251, 252, 253  >  последняя »


Эта страница в полной версии