• Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: dotbot  
Сообщество uCoz » Архивариус » Корзина » Помощь с работой php / api uCoz (Требуется помощь)
Помощь с работой php / api uCoz
Ромчик
Сообщений: 2
Репутация: -13

Сообщение # 1 | 08:56:10
Описание проблемы:
Здравствуйте, извините но я полный нуб в делах php api у uCoz. Именно поэтому я обращаюсь именно к вам. Мне нужен хороший и умный человек который знает php и умеет работать с api на uCoz. За помощь в освоении api заплачу 300 рублей (мне нужна небольшая информация и только). При этом оплата только после помощи. Просто мне не хочется читать разные мануалы и учебники) Надеюсь на вашу помощь :)
Сообщение отредактировал Ромчик - Среда, 07 Мар 2012, 11:59:34
Ferro7
Сообщений: 285
Репутация: 230

Сообщение # 2 | 11:31:34
Я бы, всё-таки, посоветовал бы вам почитать мануалы. Т.к., скорее всего, "хорошему учителю" придётся этим же и заниматься - составлять для вас мини-мануалы в сообщениях ICQ.
Уже всё давным давно разжёвано, гуглите:
раз
два

Вы полюбили меня. Здесь я. (с)
Ferro7
Сообщений: 285
Репутация: 230

Сообщение # 3 | 13:01:26
Quote (Ромчик)
В мануале я не понял(((


Юкоз всегда был скуп на описание своей системы (их книги - это исключение (коммерчески-полезное исключение - Андрей в теме)).

Вобщем, АПИ работает примерно так:

1. Включаем возможность АПИ в админке своего сайта.

2. Берём любую ссылку на своём сайте, например, ссылка на материал - //blog.ucoz.ru/blog/ucoz_2010/2011-01-01-172

3. После доменного имени в ссылку добавляем слово "api", вот так: http:// blog.ucoz.ru/api/blog/ucoz_2010/2011-01-01-172

4. Если перейти по этой ссылке, мы увидим в браузере XML-код.

5. В этом и состоит всё величие АПИ Юкоза: используя в ссылке слово "api" система uCoz вместо привычного шаблона выдаёт страницу с XML-кодом - всё то же самое, только используется не шаблон страницы, а формируется XML-код.

6. Зачем нам XML-код? Допустим, нам надо узнать название материала //blog.ucoz.ru/blog/ucoz_2010/2011-01-01-172 с помощью php-скрипта.
При обычных условиях (не имея АПИ), нам бы пришлось парсить полученный текст страницы с помощью регулярных выражений (см preg_match). Составление регулярных выражений - дело геморройное. А именно:

1) смотрим через браузер исходный код страницы, находим там в HTML-коде заголовок материала и окружающий его код:

Code
<h1><span id="entrybl">Итоги 2010</span> </h1>


2) на основании этого составляем код получения заголовка:

Code
<?php

$context = stream_context_create(array('http' => array('method' => "GET", 'header' => "Content-Type: text/xml",)));
$page = file_get_contents('http://blog.ucoz.ru/blog/ucoz_2010/2011-01-01-172', false, $context);
preg_match('#<h1><span id="entrybl">(.*?)</span> </h1>#', $page, $match);
echo $match[1];

?>


3) всё бы хорошо, но если админ сайта //blog.ucoz.ru/ изменит дизайн, вышеприведённый код может перестать работать; к тому же, код будет сильно усложняться, если данных со страницы надо получить больше.

С XML-кодом же проще - его не надо парсить, он структурирован, никакой зависимости от оформления исходного кода страницы.
Правда, надо уточнить - это XML-RPC, частный случай более общего термина XML (см. ещё http://php.net/manual/en/book.xmlrpc.php )
Пример:
Code
<?php

$context = stream_context_create(array('http' => array('method' => "GET", 'header' => "Content-Type: text/xml",)));
$page = file_get_contents('http://blog.ucoz.ru/api/blog/ucoz_2010/2011-01-01-172', false, $context);
$xml = xmlrpc_decode($page,"utf8");
echo $xml['TITLE'];

?>


Согласитесь - второй код более простой, да и более понятен, благодаря например 'TITLE' в индексе массива $xml?

Как узнать, что там по-мимо TITLE есть на странице, т.е. какие ещё будут индексы в массиве $xml?

Посмотрите ещё раз в браузере //blog.ucoz.ru/api/blog/ucoz_2010/2011-01-01-172
и обратите внимание на следующие коды

Code
.....
<name>MATERIAL_ID</name>
....
<name>TITLE</name>
.....
<name>MESSAGE</name>
.....


И в любом случае, всегда можно посмотреть всё содержимое массива через функцию print_r(), например print_r($xml);

P.S. Жду своих честно заработанных 300 biggrin

Вы полюбили меня. Здесь я. (с)
Сообщение отредактировал Ferro7 - Четверг, 08 Мар 2012, 11:50:19
Ромчик
Сообщений: 2
Репутация: -13

Сообщение # 4 | 14:52:28
Ferro7, спс за хороший мануал. В лс отправил запрос на wmz кошелёк.
Vertical
Сообщений: 2
Репутация: 3

Сообщение # 5 | 15:25:02
Здравствуйте. Прошу помощи.
Пытаюсь установить форму обратной связи (почтовую) на php на сайте http://vertical.ucoz.ua/

Этот код устанавливаю на сайте:


Этот в contactable.js:


ПХП оплатил. Файл mail.php закачал на s2000.ucoz.net (http://vertical.ucoz.ua/php/mail.php)

В этом файле раньше было прописано:

Подскажите, как настроить этот файл чтобы срабатывал скрипт.
Очень прошу... в долгу не останусь.
Victor
Сообщений: 1141
Репутация: 576

Сообщение # 6 | 22:35:24
Vertical, читайте внимательно тему: //forum.ucoz.ru/forum/47-37336-1 — функции для отправки почты запрещены. Вы можете использовать стандартный модуль почтовых форм.

В Вашем JS файле нужно заменить адрес обработчика ( стандартные формы - это /mail/ ) и названия полей (можете для теста создать почтовую форму через стандартный модуль, вставить её на тестовую страницу и посмотреть имена полей в исходном коде страницы).
Sinsir
Сообщений: 3
Репутация: 3

Сообщение # 7 | 11:48:21
Подскажите пожалуйста как получить список зарегистрированных пользователей через апи, или список определенной группы пользователей или просто проверить есть ли определенный ник в группе пользователей.
Victor
Сообщений: 1141
Репутация: 576

Сообщение # 8 | 13:11:21
Quote (Sinsir)
или просто проверить есть ли определенный ник в группе пользователей
Проще сделать запрос на страницу профиля и проверить группу.

Делайте запрос на: http://site/api/index/8-uID и сравнивайте поле USER_GROUPID с нужной группой.
Sinsir
Сообщений: 3
Репутация: 3

Сообщение # 9 | 13:51:34
Спасибо. Это намного лучше чем тащить список всех пользователей.
Сообщение отредактировал Sinsir - Суббота, 05 Май 2012, 14:05:55
stihiyanebo
Сообщений: 2
Репутация: 0

Сообщение # 10 | 11:02:21
Quote
Скажите плиз, у меня интернет магазин, и чтобы люди не переходили на сайты почты россии , емс и др. я хочу поставить универсальную программу
для отслеживания всех почтовых треков. как мне это сделать??? вот
программа. http://www.trackmypackage.ru/ я ее скачала а как установить чтоб была вот такого вида http://shophelp.ru/instructions/track.html не знаю... помогите кто знает????
писала это в разделе для новичков ,но мне посоветовали сюда) подскажите знающие!!!! sad

Добавлено (10-Ноя-2012, 11:02:21)
---------------------------------------------
неужели никто не знает.....

MStaseek
Сообщений: 45
Репутация: 6

Сообщение # 11 | 18:08:22
Кто-нибудь может помочь через API вывести в произвольном месте сайта количество публикаций определенной категории из модуля "Каталог статей".
К примеру, на главной мне нужно число статей из категории /publ/1
Сообщение отредактировал MStaseek - Четверг, 15 Ноя 2012, 18:08:38
Ferro7
Сообщений: 285
Репутация: 230

Сообщение # 12 | 19:34:41
В шаблоне со списком материалов категории сразу после тега <body> добавить такую служебную информацию:
Code
<!--data-numEntries:$NUM_ENTRIES$-->

Теперь мы, обращаясь к странице "определённой категории" можем получить кол-во материалов, например вот так через javascript к категории 1:
Code
<script>
$.get('/stuff/inflate_space/1', function(data){
  regexp = new RegExp('<!--data-numEntries:([0-9]{0,})-->', 'ig');
  result = regexp.exec(data);
  result = result[1]?result[1]:0;
  alert('Материалов: '+result);
});
</script>

API здесь, как видно, не нужно.

Вы полюбили меня. Здесь я. (с)
Сообщение отредактировал Ferro7 - Четверг, 15 Ноя 2012, 19:36:42
MStaseek
Сообщений: 45
Репутация: 6

Сообщение # 13 | 20:01:48
Ferro7, спасибо, только мне нужно кол-во материалов раздела, а не категории.
Сообщение отредактировал MStaseek - Четверг, 15 Ноя 2012, 20:05:12
kavrud
Сообщений: 5
Репутация: 0

Сообщение # 14 | 11:29:05
Привет всем, у меня встала проблема и обратился к форуму, но сначала залез не в ту ветку, меня перенаправили сюда, поэтому нового ничего не пишу, а вставляю все цитатой из другой ветки:
Цитата
Привет всем! Создал на стороннем сайте БД, сделал на ПХП вывод данных в таблицу из БД, а теперь как мне сделать, чтобы для опрелделенного пользователя выдавалась инфа. сортирую БД. Не могу запросить ID пользователя, ну, и группы.

Я сократил писанину... Создал БД на стороннем сайте, там же сделал на ПХП скрипт вывода общей информации из БД, подключил его на сайт ucoz через импорт удаленного кода, всё замечательно, код работает, но мне теперь надо, чтобы при входе на мой сайт, определенный пользователь получал отсортированную информацию из БД именно для этого пользователя, т.е. как мне сделать запрос ID пользователя и передать его в код скрипта на сторонний сайт, чтобы его потом выдать отсортированный через импорт уже на сайт ucoz?

Цитата kavrud
Цитата
Я сократил писанину... Создал БД на стороннем сайте, там же сделал на ПХП скрипт вывода общей информации из БД, подключил его на сайт ucoz через импорт удаленного кода, всё замечательно, код работает, но мне теперь надо, чтобы при входе на мой сайт, определенный пользователь получал отсортированную информацию из БД именно для этого пользователя, т.е. как мне сделать запрос ID пользователя и передать его в код скрипта на сторонний сайт, чтобы его потом выдать отсортированный через импорт уже на сайт ucoz?


Цитата
Все пересмотрел, не нашел через API, может вы меня направите, тыкните носом куда надо? Хотел создать отдельную тему здесь на форуме по своей проблеме, не нашел кнопки новой темы . Суть заключается в чем: Создал на ucoz бесплатный сайт, естественно деньги туда вкладывать не имеет смысла, т.к. он для развлечения. Прочитал много инфы как подключить ПХП и БД, выход остался один: на сайте фирмы создать БД, написать скрипт и через импорт удаленного кода подключить. Первый шаг сделан: скрипт подключен и работает, но теперь встает самый важный вопрос, как отправить в мой скрип ID пользователя, который просматривает страницу, чтобы сортировал по ID и выдавал нужную инфу? Помогите пожалуйста, если кто-то подскажет, чтобы я содал сайт на домене фирма - это не рассматривается, т.к. админ у нас злой и тяжело с ним договориться о поддомене, а скинуть скрипты и их завуалировать. это нет проблем.
Цитата
Или я слаб в этом, что не могу понять, или там этого нету. Ничего не получается. Есть сайт на ucoz http://my.sait.ru и сайт фирмы http://firma.ru/script.php. В импорте удаленного кода вставляю: http://firma.ru/script.php?uid=USER_ID, USER_ID вставлял по всякому, но результата никакого, подключил API, сделал проверку парсинга с INDEX, результата "0". В чем проблема не могу понять. Прочитал про платную услугу, там все проще, к переменной в скобку вставляешь ссылку на скрипт и переменную запроса GET через запятую, а почему так нельзя сделать через импорт удаленного кода?
Abu-Abubakr
Сообщений: 40
Репутация: 51

Сообщение # 15 | 23:21:53
kavrud, через удаленный код ни как не получиться.
Вы должны использовать php ucoz.
На php ucoz можно безопасно получить ID пользователя, а далее через него API
Код
$uid = ucoz_getinfo("SITEUSERID")

подключение на удаленный mysql работает.

Сообщество uCoz » Архивариус » Корзина » Помощь с работой php / api uCoz (Требуется помощь)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: