Модератор форума: dotbot |
Сообщество uCoz » Архивариус » Корзина » Помощь с работой php / api uCoz (Требуется помощь) |
Помощь с работой php / api uCoz |
Описание проблемы:
Здравствуйте, извините но я полный нуб в делах php api у uCoz. Именно поэтому я обращаюсь именно к вам. Мне нужен хороший и умный человек который знает php и умеет работать с api на uCoz. За помощь в освоении api заплачу 300 рублей (мне нужна небольшая информация и только). При этом оплата только после помощи. Просто мне не хочется читать разные мануалы и учебники) Надеюсь на вашу помощь Сообщение отредактировал Ромчик - Среда, 07 Мар 2012, 11:59:34
|
|
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 Вы полюбили меня. Здесь я. (с)
Сообщение отредактировал Ferro7 - Четверг, 08 Мар 2012, 11:50:19
|
Здравствуйте. Прошу помощи.
Пытаюсь установить форму обратной связи (почтовую) на php на сайте http://vertical.ucoz.ua/ Этот код устанавливаю на сайте: Этот в contactable.js: ПХП оплатил. Файл mail.php закачал на s2000.ucoz.net (http://vertical.ucoz.ua/php/mail.php) В этом файле раньше было прописано: Подскажите, как настроить этот файл чтобы срабатывал скрипт. Очень прошу... в долгу не останусь. |
Vertical, читайте внимательно тему: //forum.ucoz.ru/forum/47-37336-1 — функции для отправки почты запрещены. Вы можете использовать стандартный модуль почтовых форм.
В Вашем JS файле нужно заменить адрес обработчика ( стандартные формы - это /mail/ ) и названия полей (можете для теста создать почтовую форму через стандартный модуль, вставить её на тестовую страницу и посмотреть имена полей в исходном коде страницы). |
Quote (Sinsir) или просто проверить есть ли определенный ник в группе пользователей Делайте запрос на: http://site/api/index/8-uID и сравнивайте поле USER_GROUPID с нужной группой. |
Quote Скажите плиз, у меня интернет магазин, и чтобы люди не переходили на сайты почты россии , емс и др. я хочу поставить универсальную программу для отслеживания всех почтовых треков. как мне это сделать??? вот программа. http://www.trackmypackage.ru/ я ее скачала а как установить чтоб была вот такого вида http://shophelp.ru/instructions/track.html не знаю... помогите кто знает???? Добавлено (10-Ноя-2012, 11:02:21) |
Кто-нибудь может помочь через API вывести в произвольном месте сайта количество публикаций определенной категории из модуля "Каталог статей".
К примеру, на главной мне нужно число статей из категории /publ/1 Сообщение отредактировал MStaseek - Четверг, 15 Ноя 2012, 18:08:38
|
В шаблоне со списком материалов категории сразу после тега <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
|
Привет всем, у меня встала проблема и обратился к форуму, но сначала залез не в ту ветку, меня перенаправили сюда, поэтому нового ничего не пишу, а вставляю все цитатой из другой ветки:
Цитата Привет всем! Создал на стороннем сайте БД, сделал на ПХП вывод данных в таблицу из БД, а теперь как мне сделать, чтобы для опрелделенного пользователя выдавалась инфа. сортирую БД. Не могу запросить 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 через запятую, а почему так нельзя сделать через импорт удаленного кода? |
kavrud, через удаленный код ни как не получиться.
Вы должны использовать php ucoz. На php ucoz можно безопасно получить ID пользователя, а далее через него API Код $uid = ucoz_getinfo("SITEUSERID") подключение на удаленный mysql работает. |
| |||