Собственно, вот об этом. Сейчас уже поздно, ничего осмысленного писать не буду, но вкратце так.
Тему решил создать по причине, практически полного отсутствия внятных разъяснений по данной теме. Конечно, полно каких-то кодов/скриптов, даже здесь есть пару тем, но там большее для продвинутых в области скриптинга.
Здесь же, просто попытаюсь (наверняка не получится - как показывает практика - все хотят готовое и совсем не хотят вкуривать что-то новое) объяснить принцип, как с этим работать, и накидаю простенькие примеры, типа - как получить аватар из апи, или любую другую инфу доступную в нем.
Вот так и будет. Всем спокойной, на сегодня отбой.
Для начала отвечу на несколько простых вопросов. Они хоть и простые, но ответ будет сложным, ибо те кто спрашивает подобные вещи, походу даже не знает что такое API в принципе. И так:
Q:
Цитата
1. АПИ чисто скриптовый "интерфейс" ввода запроса? или можно обернуть в <div> и тому подобное и импортировать данные из ХТМЛ в ХТМЛ по типу условных операторов-переменных.
Нет, просто так что-то обернуть не получится. Апи - это не операторы или что-то подобное, это просто сервис предоставление информации по определенному адресу. То бишь, по сути - это те же страницы сайта, только в упрощенной xml форме (API - XML-RPC)
Для чего это тогда? Для упрощения получения каких-то данных, ибо страница выводится без ничего - только данные в структурированной форме.
Получать их можно как при помощи php, так и при помощи JavaScript. Все запросы к API выполняются посредством GET-запросов/ Примеры будут ниже.
Q:
Цитата
2. автор в первом посте, да и вообще во всех малочисленных примерах на данном форуме приводят конструкцию через скрипт с синтаксисом вообще отличительным от мануалов юкоза, поправте если я не правильно вник в мануал, синтаксис:
теги берем из таблиц, а адрес до нужного уровня вложения страницы (естественно смотрим где и что может вернуть апи)
Здесь схематически показан принцип формирования ссылки. Где: SITE_ADDRESS = вас сайт, в данном случае, http://likbezz.ru/ MODULENAME = модуль, в данном случае = forum ANYRELPATH = остальная часть ссылки? в данном случае, для первого поста будет == 100-1574-1 В сумме получаем: http://likbezz.ru/api/forum/100-1574-1
3. если ориентироваться на все примеры что в встречались в данном форуме, то данную конструкцию(выше) нигде не встречал, написал наугад тупо ориентируясь на мануал. добавлю: синтаксис именно Get запросов нигде в мануалах не встречал,
Данный “синтаксис” не суть как важен, вы быстро вкурите тему если попытаетесь хоть чуть-чуть разобраться. Все достаточно просто и интуитивно понятно.
Q:
Цитата
а $.get() чаще встречается в примерах на структуре скриптов,
Так и есть. Чаще всего данные получают именно гет запросом, в данном случае jQuery $.GET
Q:
Цитата
и куда вписывать ключ и нужно ли его вообще вписывать в пределах одного доменна (правда прикрепленного) Обобщенно: как правильно писать get запрос(синтаксис), во что его можно обернуть (див, табл, ячейку или все таки только в скрипт), куда тулить ключ(при каких условиях)
Ключ вписывать в самый конец адреса запроса, типа:
- ваш ключ который можно взять в ПУ, если вы включили эту функцию. Включается и выключается она там же, в ПУ » Общие настройки » Использовать API key После того как будет поставлена галочка - появится поле с ключом. Вот это и пихать в apikey
Это очень не удобно, можно ли это как-то исправить или обойти? Спасибо!
На данный момент обойти можно только если вы получаете данные при помощи php скрипт, или с использованием php + JavaScript. В любом случае, нужен либо php, либо костыли с ифреймом.
Все круто, но выводится ровно столько материалов - сколько задано в настройках модуля на главной странице. В нашем случае 9. Нашел коммент с этой же проблемой в описании api на юкозвских мануалах. Вопрос так и не решился. Как это обойти? Очень надо чтоб больше можно было выводить и желательно не ставить в настройках большее число.(
2.) Тянем данные с главной новостей. Все круто, но выводится ровно столько материалов - сколько задано в настройках модуля на главной странице. В нашем случае 9. Нашел коммент с этой же проблемой в описании api на юкозвских мануалах. Вопрос так и не решился. Как это обойти?
И ниже также дублировал url,url. Не получилось. Можешь показать правильный пример?)
Цитатаlikbezz
Смотри логи, ошибки.. так навскидку не скажу.
А сам код на первый взгляд верный? оО Думал, что может не так где...
Блин... А MATERIAL_ID можно дублировать в коде? Если сам код правильный, тогда и не знаю... Точная копия информера в принципе. Окно по сути должно открываться.
вроде темы, где ты показал как оформлять похожие материалы картинками?
Не совсем. Просто добавлять (вручную или скриптом) к тексту материала скрытый блок с картинкой, или html-комментарий, а в скрипте уже искать картинку в тексте материала и выводить, если есть.
Не совсем. Просто добавлять (вручную или скриптом) к тексту материала скрытый блок с картинкой, или html-комментарий, а в скрипте уже искать картинку в тексте материала и выводить, если есть.
Угу... Понятно, буду пробовать.)
Цитатаlikbezz
Правильный - нет - лениво писать подобный функционал за спасибо. Как вариант - два разных блока подряд и два вызова, соответственно.
Пробовал, так работает, да.)
Цитатаlikbezz
ID материала - уникальный номер в модуле.
Знаю, говорю можно ли дублировать MATERIAL_ID. Например код статистики нельзя два раза размещать на странице, поэтому и спросил.) Мало ли. Там MATERIAL_ID используется три раза. Но явно проблема в другом.))