Forums / National / Russian / Сборка «Фриланс-биржа» / Использование плагинов в других шаблонах

<<<12

Dayver
#16 2012-10-29 20:22
#35990 meverikxp:
#35988 Dayver:

можно подробнее, что сделать? файл users.details.tpl я открыл, а что дальше? Как сделать вывод sed_showfcat()?

 

вставить в файл users.details.tpl {FREELANCERS_CATALOG}

Pavlo Tkachenko aka Dayver
meverikxp
#17 2012-10-29 20:23
#35989 Yusupov:

Все работает. 

Создайте файл: freelancers.users.details.tags.php:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?PHP
/* ====================
[BEGIN_SED_EXTPLUGIN]
Code=freelancers
Part=users
File=freelancers.users.details.tags
Hooks=users.details.tags
Tags=
Order=10
[END_SED_EXTPLUGIN]
==================== */
 
if (!defined('SED_CODE')) { die('Wrong URL.'); }
 
$t->assign(array(
    "FREELANCERS_CATALOG" => sed_showfcat()
));
 
?>

Установите тэг {FREELANCERS_CATALOG}  в шаблон пользователя. 

Переустановите плагин freelancers

{FREELANCERS_CATALOG} нужно установить в users.employers.tpl?

Added 10 minutes later:

#35991 Dayver:
#35990 meverikxp:
#35988 Dayver:

можно подробнее, что сделать? файл users.details.tpl я открыл, а что дальше? Как сделать вывод sed_showfcat()?

 

вставить в файл users.details.tpl {FREELANCERS_CATALOG}

вставил, что дальше?

This post was edited by meverikxp (2012-10-29 20:32, 12 years ago)
Dayver
#18 2012-10-29 20:56
#35992 meverikxp:
вставить в файл users.details.tpl {FREELANCERS_CATALOG}

вставил, что дальше?

Диалог приобретает форму неформального разговора вне формата форума с элементами экстрасенсорики

Pavlo Tkachenko aka Dayver
meverikxp
#19 2012-10-29 21:10

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

Dayver
#20 2012-10-29 22:00
#35992 meverikxp:
вставить в файл users.details.tpl {FREELANCERS_CATALOG}

вставил, что дальше?

И каков результат то? Что можно советовать дальше не зная что произошло после выполнения рекомендаций?

Pavlo Tkachenko aka Dayver
meverikxp
#21 2012-10-29 22:16

если честно не знаю за каким адресом доступна эта страница. Тестово удалил весь код с users.details.tpl и перешел на страничку пользователя но она открылась без проблем, попробовал редактировать данные все так же осталось без изменений.

Заметил интересный факт, что на странице users.freelancers.tpl {FREELANCERS_CATALOG} отображается, но почему его нет в users.employers.php не пойму

This post was edited by meverikxp (2012-10-29 22:35, 12 years ago)
Dayver
#22 2012-10-29 23:13
#35998 meverikxp:

если честно не знаю за каким адресом доступна эта страница. Тестово удалил весь код с users.details.tpl и перешел на страничку пользователя но она открылась без проблем, попробовал редактировать данные все так же осталось без изменений.

Заметил интересный факт, что на странице users.freelancers.tpl {FREELANCERS_CATALOG} отображается, но почему его нет в users.employers.php не пойму

1) в движке есть файловый кеш шаблонов - потому если сразу нет реакции на изменение шаблона то возможно стоит попробовать очистить кеш

2) проверте как я уже писал выше выводится ли тег {FREELANCERS_CATALOG} во все шаблоны строчкой $t->assign("FREELANCERS_CATALOG", sed_showfcat().'+++'); и если плюсики будут видны и в users.freelancers.tpl и в users.employers.php то тут уже будет понятно что функция sed_showfcat дает разный контент для разных шаблонов и потому нужно разбиратся с нею ... а вообще думаю вам стоит обратится к разработчику того функционала который у вас стоит (видимо стороння сборка движка или плагин(ы) добавили возможность кастомизации шаблонов модуля users для разных групп)

Pavlo Tkachenko aka Dayver
meverikxp
#23 2012-10-29 23:46

итак что я выяснил, когда вставил код $t->assign("FREELANCERS_CATALOG", sed_showfcat().'+++'); в freelancers.index.php плюсики вывелись только на главной странице. Далее я нашел еще один файлик в плагине freelancers.users.tags.php и внем изменил код 

PHP
1
2
3
4
5
6
$t->assign(array(
 
"FREELANCERS_CATALOG" => sed_showfcat($c).'+++',
"CATTITLE" => (!empty($c)) ? ' / '.$sed_fcat[$c]['title'] : '',
"CATTEXT" => $sed_fcat[$c]['text'],
));

После чего уже на странице users.freelancers.tpl начали отображатся плюсики, а на странице users.employers.tpl так и ничего и не отобразилось. Внизу привожу код freelancers.users.tags.php мож его нужно комстомайзить

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?PHP
/* ====================
[BEGIN_SED_EXTPLUGIN]
Code=freelancers
Part=users
File=freelancers.users.tags
Hooks=users.tags
Tags=users.tpl:
Order=10
[END_SED_EXTPLUGIN]
==================== */
 
if (!defined('SED_CODE')) { die('Wrong URL.'); }
 
if($gm == 4)
{
    $t->assign(array(
        "FREELANCERS_CATALOG" => sed_showfcat($c).'+++',
        "CATTITLE" => (!empty($c)) ? ' / '.$sed_fcat[$c]['title'] : '',
        "CATTEXT" => $sed_fcat[$c]['text'],
    ));
}
 
// ==============================================
 
list($select_country, $select_region, $select_city) = sed_select_location('', $country, $region, $city);
 
$t->assign(array(
    "SEARCH_ACTION_URL" => sed_url('users', "gm=".$gm."&c=".$c, '', true),
    "SEARCH_COUNTRY" => $select_country,
    "SEARCH_REGION" => $select_region,
    "SEARCH_CITY" => $select_city,
));
 
$t->parse("MAIN.SEARCH");
// ==============================================
 
?>

И выяснил еще один фажный факт, это не чистый cotonti, а переделаный для биржи фриланса, как таковой поддержки нет у них. так что уже мучу вас, извините конечно, но очень нужна ваша помощь. Спасибо!

Added 26 minutes later:

Блин, извините что мучил вас так долго, проблема была настолько мелкая что просто стыдно. Оказалось что в файле freelancers.users.tags.php нужно было убрать if($gm== 4) хотя пока не разобрался на что именно проверка, но каталог фрилансеров уже выводится. Спасибо еще раз

This post was edited by meverikxp (2012-10-30 00:12, 12 years ago)
Dayver
#24 2012-10-30 01:34

Блин, извините что мучил вас так долго, проблема была настолько мелкая что просто стыдно. Оказалось что в файле freelancers.users.tags.php нужно было убрать if ($gm == 4) хотя пока не разобрался на что именно проверка, но каталог фрилансеров уже выводится. Спасибо еще раз

Самое интересно что данный кусок кода ни разу не фигурировал в этом топике вопросе - в следующий раз не упускайте таких важных мелочей

Pavlo Tkachenko aka Dayver
meverikxp
#25 2012-10-31 20:31

еще один вопрос, как в моем файле users.details.employers.tpl вывести созданый мною простой плагин, код плагина привожу ниже

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
/* ====================
[BEGIN_SED_EXTPLUGIN]
Code=top_freelance
Part=main
File=top_freelance
Hooks=standalone
Tags=
Order=10
[END_SED_EXTPLUGIN]
==================== */
 
defined('SED_CODE') or die("Wrong URL.");
 
$plugin_title = 'Пример плагина'; //Заголовок плагина
$plugin_subtitle = 'Мы все чему нибудь учились ...'; //Подзаголовок плагина
$plugin_body  .= <<<EOT
<form name="form1"  method="post" action="">                      
    Введите первое число: <input type="text" name="formtext1"><br><br>
    Введите второе число: <input type="text" name="formtext2"><br><br>
    <input type="submit" name="formbutton1"><br><br>
</form>
EOT;
 
$plugin_body  .= '<b>Произведение ваших чисел = '.$_POST[formtext1]*$_POST[formtext2].'</b>';
?>

что сейчас я должен сделать что бы в своем файле вывести форму созданую в плагине

Yusupov
#26 2012-11-01 06:50

Во-первых вам нужно создать не отдельную страницу а встроить свою форму в существующую страницу. Для этого вместо хука standalone используйте тот хук, который находится в том месте, куда вы хотите вставить свой фрагмент. То есть в вашем случае это страница списка пользователей, соответственно, это раздел users.inc.php, хук называется users.tags

Получается такой файл: top_freelance.users.tags.php c с кодом:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
/* ====================
[BEGIN_SED_EXTPLUGIN]
Code=top_freelance
Part=users
File=top_freelance.users.tags
Hooks=users.tags
Tags=
Order=10
[END_SED_EXTPLUGIN]
==================== */
  
defined('SED_CODE') or die("Wrong URL.");
  
$plugin_title = 'Пример плагина'; //Заголовок плагина
$plugin_subtitle = 'Мы все чему нибудь учились ...'; //Подзаголовок плагина
$plugin_body  .= <<<EOT
<form name="form1"  method="post" action="">                      
    Введите первое число: <input type="text" name="formtext1"><br><br>
    Введите второе число: <input type="text" name="formtext2"><br><br>
    <input type="submit" name="formbutton1"><br><br>
</form>
EOT;
  
$plugin_body  .= '<b>Произведение ваших чисел = '.$_POST[formtext1]*$_POST[formtext2].'</b>';
?>

Чтобы перенести форму в шаблон надо ее поместить в свой тэг, то есть создаем тэг для формы:

$t->assign('MYFORM', $plugin_body);

Соответственно, созданный тэг {MYFORM} помещаем в шаблон users.tpl (или в вашем случае для биржи users.freelancers.tpl). 

Добавлено 3 минуты спустя:

В итоге получается такой код: 

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
/* ====================
[BEGIN_SED_EXTPLUGIN]
Code=top_freelance
Part=users
File=top_freelance.users.tags
Hooks=users.tags
Tags=
Order=10
[END_SED_EXTPLUGIN]
==================== */
   
defined('SED_CODE') or die("Wrong URL.");
   
$plugin_title = 'Пример плагина'; //Заголовок плагина
$plugin_subtitle = 'Мы все чему нибудь учились ...'; //Подзаголовок плагина
$plugin_body  .= <<<EOT
<form name="form1"  method="post" action="">                      
    Введите первое число: <input type="text" name="formtext1"><br><br>
    Введите второе число: <input type="text" name="formtext2"><br><br>
    <input type="submit" name="formbutton1"><br><br>
</form>
EOT;
   
$plugin_body  .= '<b>Произведение ваших чисел = '.$_POST[formtext1]*$_POST[formtext2].'</b>';
 
$t->assign('MYFORM', $plugin_body);
 
?>

 

meverikxp
#27 2012-11-01 08:01

Спасибо. все получилось!

<<<12