View Full Version : Кастом МОД? А скока стоит?
ellan
10-23-2007, 03:31 AM
Вот подумал, если сделать так:
Рассмотрим на примере моего сайта...
Я листую софт...
У меня есть софт в разных категориях и почти весь он совместим с с несколькими операционками.
Но вот пользователи Линукса к сожалению получились ущемлёнными...=) Ибо им найти софт сложнее всего. Один пользователь зашёл ко мне на сайт и, злостно выругавшись предложил добавить категорию Линукс..., Ну ведь софт ведь не весь только с линуксом совместим...что-же делать? А ведь еСиндикат не может добавлять ссылки в 2 категории сразу, да и муторно как то...
Что если сделать категорию, Линукс, где просто из базы методом сёча будут выдираться все ссылки у которых есть совместимость с Линуксом...Но в самой категории ссылок не будет в базе...т.е. содержимое категории генерится сразу после нажатия ссылки на эту категорию=)
Будет ли это кастом МОД и сколько это будет стоить?:fingal:
ellan
10-23-2007, 07:07 AM
Зачем такие сложности? Да и тем более я использую версию 2.1.03 да и не думаю, что перейду на новую в скорое время...в конце концов, я столько времени убил, перелопатил весь код, стока модов сделал, и вот так всё бросить...ну уж нет, я если перейду, то только для безопасности, и кстати сделаю это только после того, как полностью прошерстю код 2.2, и только после того, как она выйдет в нормальном релизе=):good:
А вообще, можно не отвечать на этот вопрос, уже сделал всё, что хотел...
результат тут: кликаем http://www.64xsoft.com , потом кликаем на категорию Linux, вуаля, работает=):good:
Simon Gooffin
10-24-2007, 09:54 AM
Нет комментариев :))
"Тихо сам с собою я веду беседу" ?
ellan
10-24-2007, 10:18 AM
Саймон! =) Ты лучше, зацени и скажи будет ли это кастом мод или нет? А вообще, лучше ответьтьте мне на тот несчастный пост, который уже где-то затерялся....я уже не знаю, что и сделать, чтоб эту проблемму решить=((((
http://www.esyndicat.com/forum/showthread.php?p=75482#post75482
Simon Gooffin
10-24-2007, 10:34 AM
Да пожалуй можем реализовать как кастом моду :)
$50 будет её цена. По поводу того поста - наверно, лучше к тех саппорту обратиться. Они вам постараются помочь
John Turner
10-24-2007, 11:33 AM
ellan,
Я ответил на Ваш пост
http://www.esyndicat.com/forum/showpost.php?p=75513&postcount=21
ellan
10-25-2007, 07:11 AM
Спасибо вам огромное=) Вот впринципе я и отвалидировал код...=)
Simon Gooffin
10-25-2007, 10:03 AM
Вот и здОрово..
Кстати, в Канаде вам не пригодится зенд сертифицированный специалист? А то от нас отправится один туда надеюсь скоро ))
John Turner
10-25-2007, 10:05 AM
ellan,
Я рад был помочь.
Будут вопросы обращайтесь.
ellan
10-25-2007, 08:52 PM
Вот и здОрово..
Кстати, в Канаде вам не пригодится зенд сертифицированный специалист? А то от нас отправится один туда надеюсь скоро ))
Zen-как-как вы сказали?
А чёрт его знает, я тут как бы трудовым рынком то не заведую=):ooi:
ellan,
Я рад был помочь.
Будут вопросы обращайтесь.
А вопросы то будут=))) У меня ещё их много, только некоторые я сам решить могу, а некоторые нет=)
Simon Gooffin
10-26-2007, 06:25 AM
zend - пхп они делают :))) ну я думал может вы в курсе насколько там востребованы качественные пхп специалисты
ellan
10-26-2007, 06:32 AM
http://vancouver.craigslist.org/eng/457010643.html - Вот самоё первое, что нашёл на местной classifieds board
и вот весь список
http://vancouver.craigslist.org/eng/
Simon Gooffin
10-26-2007, 08:30 AM
Thanks a lot :) Rather useful information
ellan
10-26-2007, 09:22 AM
Now it's my time to say "you are welcome=)"
кстати, я валидацию полностью закончил=) Если желаете, могу написать тут или кому-нибудь в ПМ список мест, где нужна корректировка кода=)
Simon Gooffin
10-26-2007, 09:33 AM
Hmm it would be really great. The main problem we have is javascript validation ) не то чтобы серьёзная проблема.. скорее лень народу отвлекаться на такие вещи.. хотя есть слово НАДО ))
ellan
10-26-2007, 09:49 AM
Хах, я его тоже отвалидировал и всё работает прекрасно.=)
Короче, смотрите, что вам нужно сделать,
<img id="spinner" src="http://www.64xsoft.com/templates/GreenLeaves/img//spinner.gif" style="display:none;" alt="" />
<script type="text/javascript">
var root = 'http://www.64xsoft.com/';
var a = document.getElementsByTagName("a");
<!--
for(i=0; i<a.length; i++)
{
if(a.id != '')
{
a.onclick = count_link;
}
}
function count_link()
{
// l = link, b = banner
var tp = this.id.charAt(0);
if(tp != 'l' && tp != 'b')
{
return true;
}
if(this.id.length < 2)
{
return true;
}
itemid = this.id.substring(1);
if(parseInt(itemid.charAt(0)) < 1 || itemid.match(/\D/))
{
return true;
}
i = new Image();
h = Math.random();
i.src= root + 'click-count.php?id='+itemid+'&type='+tp+'&;h='+h;
return true;
}
[I]-->
</script>
<script type="text/javascript" src="http://www.64xsoft.com/templates/GreenLeaves/js/utils.js"></script>
<script type="text/javascript">[I]<!--
//<[!CDATA[
$("ul li input.poll_option").click(function() {
var option_id;
option_id = $(this).attr('id');
option_id = option_id.split('_');
// extract option id
poll_id = option_id[2];
option_id = option_id[3];
$("#poll_"+poll_id).fadeOut().before($("#spinner"));
$("#spinner").show();
gl = this;
$.post("polls.php", {id: option_id, poll_id: poll_id}, function(data) {
$("#spinner").hide();
$("#poll_"+poll_id).html(data).fadeIn();
})
});
var s = "Search";
$("#search_input").focus(function() {
if (this.value == s) {
this.value = "";
}
}).blur(function() {
if (this.value == "") {
this.value = s
}
});
// ]]> -->
</script>
<script type="text/javascript" src="http://www.64xsoft.com/templates/GreenLeaves/js/utils.js"></script>
</body>
</html><!-- Page generated: 0.5072 -->
Я выделил элементы, которые добавил, всё ПРОСТО=)
Для валидатора и гугла это комменты, а для JS нет, он их просто пропускает=)
Спасибо мне...=):good:
Из валидации следует упомянуть следующие моменты:
1.Звёздочки рейтинга посетителей выводятся без тэга Альт
2.JS
3.Иногда повторяются ID
4.Для некоторых директорий требуется финкция replace для замены entities
ну может что и упустил, но у себя точно всё пофиксил=)
ellan
10-26-2007, 09:52 AM
Я вот ещё подумал, не составит ли вам(всмысле комуто из вас) ответить мне на такой вопрос.
Как организовать вывод последних статей из Word Press на страницы еСиндиката?
Всё было бы просто, если бы не коннект к базе данных с другим префиксом=(( Впринципе нужен вывод только названия статьи и ссылка...
Зарание спасибо=)
Simon Gooffin
10-26-2007, 09:54 AM
через РСС самый реальный вариант )) У нас есть модуль в 2.2 версии.. В 2.1 проверьте файлик в includes/rss.inc.php В нём есть необходимая документация
Sergey Ten
10-26-2007, 09:55 AM
Спасибо за код ellan :good:
Sergey Ten
10-26-2007, 10:05 AM
Я вот ещё подумал, не составит ли вам(всмысле комуто из вас) ответить мне на такой вопрос.
Как организовать вывод последних статей из Word Press на страницы еСиндиката?
Всё было бы просто, если бы не коннект к базе данных с другим префиксом=(( Впринципе нужен вывод только названия статьи и ссылка...
Зарание спасибо=)
База Word Press'а на том же хосте находиться? Если да то я думаю это плохой вариант с РСС. Брать РСС со своего же сайта, парсить его и затем отображаеть его опять же на своей сайте. гыг...
Я так думаю что можно будет добавить новый класс и наследовать его от DirDb.php. Передать в него параметры $mConfig; с паролями другой базы и все можно будет с другой базой работать ;)
ellan
10-26-2007, 10:06 AM
Да не за что=) Прикиньте, Гугл мне со вчерашнего дня парит уши(скорее глаза), что формат моего сайтмэп не поддерживается гуглом...это вообще что-то из ряда вон выходящее 8)
Ага, всё понял, что происходит...
http://64xsoft.com/sitemap.xml
не подскажете, что делать?
FIXED by my self. Don't warry=)
Про Wp:
Да нет, дела то намного лучше, база то одна и та же=) да вот только префиксы разные=)
Sergey Ten
10-26-2007, 11:37 AM
ellan,
Тогда можно переопределить префикс :) Примерно так можно сделать. Не тестил но должно работать:
class WP extends eSyndicat
{
var $mTable = "wp";
function WP()
{
global $gDirDb;
$this->mConfig['prefix'] = 'prefix_wp_tables';
$config = & Config::instance();
$this->mConfig = & $config->config;
$this->mTable = $this->mConfig['prefix'].$this->mTable;
$this->mPrefix = $this->mConfig['prefix'];
$this->mLink = & $gDirDb->mLink;
}
function getTitles()
{
$sql = "SELECT * FROM `{$this->mTable}` ";
return parent::getAll($sql);
}
}
Sergey Ten
10-26-2007, 11:52 AM
Млин... все проще можно сделать :)
Достаем:
$wp_titles = $gDirDb->query("SELECT * FROM `wp_table`");
Передаем в смарти:
$gDirSmarty->assign_by_ref('wp_title', $wp_titles);
И в смарти распечатывает foreach'ем :)
ellan
10-26-2007, 11:18 PM
Окм, вроде всё просто, попробуем=)
ellan
10-26-2007, 11:43 PM
Эх, чё то не то,
Вот у меня таблица wp_posts а колонка post_title
как это всё описать?
Может мне стоит создать пост на форуме про эт тему на английском? И там уже вертеть эту тему, а как то нехорошо вас тут отвлекать...вообще то, я не совсем понимаю даже в каком файле это писать? Наверное в классе, и второе, ведь надо же как то начать, это же только фрагмент, а нужно чтото типа function NAME{$var = integer}
и.тд.
Sergey Ten
10-29-2007, 11:05 AM
Привет ellan,
Да там все просто. Напишу инструкции как обычно.
[ Open your includes/view.inc.php ]
[ Find code ]
/** get partner links **/
if ($config->get('partner_links'))
{
$partner_links = $Link->getPartner($id, 0, $config->get('num_partner_display'));
$gDirSmarty->assign_by_ref('partner_links', $partner_links);
}
[ After add code ]
$wp_titles = $gDirDb->getAll("SELECT `post_title` FROM `wp_post`");
$gDirSmarty->assign_by_ref('wp_titles', $wp_titles);
[ Save change ]
[ Open your templates/your_template/header.tpl ]
[ Find code ]
{if $news && $config.news}
<!-- news box start -->
{include file="box-header.tpl" caption=$lang.news style="orange"}
<div class="links">
{foreach from=$news item=one_news}
<div class="news-title">
{if $config.mod_rewrite}
<a href="{$config.base}{$config.dir}news/{$one_news.alias}-n{$one_news.id}.html" id="news{$one_news.id}">{$one_news.title}</a></div>
{else}
<a href="{$config.base}{$config.dir}news.php?id={$one_news. id}" id="news{$one_news.id}">{$one_news.title}</a></div>
{/if}
<div class="news-body">{$one_news.body|truncate:$config.news_max:"..."}</div>
<div class="news-date">{$one_news.date|date_format:$config.date_format}</div>
{/foreach}
</div>
{include file="box-footer.tpl"}
<!-- news box end -->
{/if}
[ After add code ]
{if $wp_titles}
{include file="box-header.tpl" caption="Word Press" style="orange"}
<div class="links">
{foreach from=$wp_titles item=wp_title}
<div class="news-title">
{$wp_title}
</div>
{/foreach}
</div>
{include file="box-footer.tpl"}
{/if}
[ Save change ]
ellan
10-29-2007, 07:44 PM
Сергей, ну теперь то всё понятно , ато я пихал этот код в index.php +), но не хочу тебя обижать, что то мы с тобой намудрили. Теперь этот код выводит мне шесть раз слово "array" =) где то глюк...я проверил название таблиц, вроде всё верно=)
Sergey Ten
10-30-2007, 04:50 AM
Привет ellan,
Это я намудрил %) Эх это все моя не внимательность :( Просто поменять надо:
<div class="news-title">
{$wp_title.post_title}
</div>
ellan
10-30-2007, 09:21 AM
ну, Сергей =) Ну спасибо, всё просто класс=))) последний маленький вопрос, как всё это добро сделать ссылками? =)
Я думаю мне стоит написать этот на форуме на английском, ведь не один я юзаю ВП для блога=) Естественно от имени вашей команды...=)
Simon Gooffin
10-31-2007, 09:25 AM
Просто непросто - без разницы ))) думаю будет очень классно если мы это оформим в плагинчик для нашего скрипта. Типа - отображать в боксе последние N постов с ващего Wp блога. При этом в конфиге добавляются префикс и доступ к базе Wp и настройка для количества отображаемых элементов.
Я думаю коль у Сергея этот код уже готов не составит проблем написать плагин. Тем самым расширяя наш супер скрипт :)))
Sergey Ten
10-31-2007, 09:30 AM
Да я думаю что неплохо будет сделать это в виде отдельного плагина. Постараюсь сделать его как можно скорее.
Sergey Ten
10-31-2007, 12:22 PM
Привет ellan,
Я доделал плагин. Думаю сейчас Вы сможете скачать его.
http://www.esyndicat.com/downloads/plugins.html
ellan
10-31-2007, 06:08 PM
так он же для 2.2, а у меня 2.1.03 =/
Sergey Ten
11-01-2007, 05:20 AM
привет ellan,
Тогда вот такой код:
[ Open your includes/view.inc.php ]
[ Find code ]
/** get partner links **/
if ($config->get('partner_links'))
{
$partner_links = $Link->getPartner($id, 0, $config->get('num_partner_display'));
$gDirSmarty->assign_by_ref('partner_links', $partner_links);
}
[ After add code ]
$wp_titles = $gDirDb->getAll("SELECT `guid`, `post_title` FROM `wp_post` ORDER BY `post_date` DESC LIMIT 0, 5");
$gDirSmarty->assign_by_ref('wp_titles', $wp_titles);
[ Save change ]
[ Open your templates/your_template/header.tpl ]
[ Find code ]
{if $news && $config.news}
<!-- news box start -->
{include file="box-header.tpl" caption=$lang.news style="orange"}
<div class="links">
{foreach from=$news item=one_news}
<div class="news-title">
{if $config.mod_rewrite}
<a href="{$config.base}{$config.dir}news/{$one_news.alias}-n{$one_news.id}.html" id="news{$one_news.id}">{$one_news.title}</a></div>
{else}
<a href="{$config.base}{$config.dir}news.php?id={$one_news. id}" id="news{$one_news.id}">{$one_news.title}</a></div>
{/if}
<div class="news-body">{$one_news.body|truncate:$config.news_max:"..."}</div>
<div class="news-date">{$one_news.date|date_format:$config.date_format}</div>
{/foreach}
</div>
{include file="box-footer.tpl"}
<!-- news box end -->
{/if}
[ After add code ]
{if $wp_titles}
{include file="box-header.tpl" caption="Word Press" style="orange"}
<div class="links">
{foreach from=$wp_titles item=wp_title}
<div class="news-title">
<a href="{$wp_title.guid}" class="title">{$wp_title.post_title}</a>
</div>
{/foreach}
</div>
{include file="box-footer.tpl"}
{/if}
[ Save change ]
ellan
11-01-2007, 06:14 AM
То что надо=) Спасибо, Сергей=) И всей команде еСиндиката тоже спасибо=)
Наш скрипт становится всё больше и больше похож на портал вместо директории...
Отличная работа ребята!
ellan
11-01-2007, 07:09 AM
Смотрите не перестарайтесь...главное, не вживлять все эти моды в следующую версию, а вернее сделать их optional. И кстати, а как там второй релиз кандидат версии 2.2? Много ли постов о багах? =) А то я всё жду, когда выйдет уже public версия? =) Хочу взять public версию и переделать её под свой дизаин, потом перенесу базу и поставлю сайт на новую версию скрипта...но думаю мень ше месяца это не займёт...ибо я уже 6 месяцев меняю свой скрипт=)))
Simon Gooffin
11-02-2007, 11:07 AM
ellan, если бы вы использовали нашу 2.2 версию вы бы поняли что теперь в принципе будет не очень много функционала "вживлено" в версию. Все дополнительные фишки выносим в отдельные плагины. В ядре будут фикситься только баги плюс добавляться какие нибудь новые хуки, которые могут быть использованы для разных плагинов :)
версия 2.2 RC2 довольно неплохая.. думаю 19 числа сего месяца мы будем способны выпустить стабильную версию.
ellan
11-02-2007, 10:25 PM
Оки, буду ждать 19го числа, а пока возьму РС2 и поколдую над темплейтом=) всё равно перенолсить свой сайит придётся=)
А вот плагины это хорощо, кому не надо, взял да убрал, вот только вопрос:
А плагин редактировать можно? Насколько это отличается от версси 2.1.03(ну от модов конечно?)
Я к чему это...допустим есть плагин *New Links*, а вот я хочу что бы он мне не только саму сслыку выводил, но ещё и часть её описания или другие детали, как у меня сейчас. Впринципе, я это могу сделать руками на версии 2.1.03, а вот в 2.2 это возможно?(Лично я думаю что да, ведь новей всегда лучше чем старое=), но хочу услышать мнение профессионалов=))))
Simon Gooffin
11-21-2007, 05:13 PM
Привет, ну что наколдовали? %)
Версию то выпустили. В принципе плагины можете кастомайзить без проблем. Отображение данных идёт в блоках специальных. Там обычный смарти код так что вы там можете что то менять. Если нада вносить изменения в пхп то думаю вам надо будет попросить Сергея Тена чтобы он выложил Hooker, который позволяет менять ПХП код в плагинах
Stilana
05-04-2008, 08:40 AM
не знаю, все переискала, но не нашла установка баз данных.Уже писала и в английский Support. Проблема такая у меня на сервере phpmyadmin 2.4. Не могу сделать там привелегии, как показано в хелпе. ну и , конечно, он не впускает в админ панель. А вообще , честно говоря, боюсь это sql, как не знаю чего, ну не понимаю я его изначально, в отличие от php.
Vladimir T.
05-05-2008, 12:12 PM
Здраствуй Stilana
Пожалуста дайте доступ на phpMyAdmin. (В личку)
И какие права и на какую базу и для какого пользователя вы хотите сделать.
Stilana
05-10-2008, 08:37 AM
Спасибо, уже разобралась с Sql, но есть 2-я проблема- плагины. Установила все так , как написано в инструкции на форуме, но выбивает ошибку 404. Стерла, переинсталировала по новой, но проблема не исчезла, не пойму , что не так делаю?
Vladimir T.
05-12-2008, 09:50 AM
Здрастуй Stilana
Пожалуста создайте тикет (http://esyndicat.com/support/desk/) и укажите название плагина, в чем проблема иль когда появляется ошибка, а также дайте доступ к ftp и к admin panel.
Мы глянем и постараемся решить проблему.
vBulletin® v3.7.0, Copyright ©2000-2008, Jelsoft Enterprises Ltd.