Lage en kul bildefeed med automatisk rulling. Din egen nyhetsstrøm i PHP

RSS er en familie av XML-formater designet for å beskrive nyhetsfeeds, artikkelkunngjøringer, endringer i blogger osv. Informasjon fra ulike kilder presentert i RSS-format kan samles inn, behandles og presenteres for brukeren i en form som er praktisk for ham av spesielle programmer - aggregatorer

Wikipedia

På mange sider vil du se en eller-knapp, som betyr at siden har en RSS-feed tilgjengelig. Denne tjenesten er praktisk for nettstedlesere, fordi ved hjelp av Rss-aggregatorer, for eksempel Yandex.Lenta eller Kanban.ru, kan du samle din egen nyhetsfeed og lese nyheter fra forskjellige nettsteder på ett sted eller motta dem til din e- post ved å bruke Rss2Email-tjenesten. Les mer om for eksempel RSS i Computerra.

I denne artikkelen vi vil snakke ikke om bruk av RSS-feeds og aggregatorer, men om hvordan du raskt kan lage en nyhetsfeed på en nettside ved hjelp av RSS.PHP og MySql-programmet.

Innledende forhold

Så du har en nettside som har PHP-støtte og basen fungerer MySql-data(forresten en veldig vanlig kombinasjon). Fra databasen der bloggtekstene eller nyhetskunngjøringene dine er lagret vil vi motta data for feeden vår. Feeden bygges dynamisk, direkte på forespørsel, så alt du trenger er det riktige skriptet. Du kan skrive det selv, men du kan ta en ferdig

Litt teori

Først en liten teori. For feeden vår vil vi bruke RSS 2.0-formatet; for de som er interessert, henviser jeg deg til beskrivelsen av formatet du finner. Og vi vil ikke bruke alle elementene, men bare de som vi egentlig ikke kan klare oss uten:

Element Beskrivelse
tittel Kanaltittel.
link Link til hovedsiden til nettstedet.
beskrivelse Beskrivelse av kanalen.
Språk Språket som kanalen er skrevet på. For eksempel ru - russisk
opphavsrett opphavsrett
administrerende redaktør E-post kanalredaktør.
webmaster Webansvarlig e-post.
pubDato Dato for publisering av informasjon i kanalen.
siste byggedato Tidspunkt for siste kanalbytte.
kategori Bestemmer kategorien som kanalen tilhører.
Punkt Selve innholdet i kanalen. Det må være minst ett element.

Punkt

Element Beskrivelse
tittel Overskrift
link Link til fulltekst
beskrivelse merknad
kategori Kategori
pubDato Dato for publisering av artikkelen. Noen aggregatorer vil ikke vise en artikkel hvis den angitte datoen ennå ikke har kommet. Men ikke alt.

Siden RSS er et undersett av XML, bør vi ende opp med noe slikt som dette: Hvis du endrer noe i skriptet, sjekk det for samsvar med standarden ved å bruke Feed Validator eller RSS Validator-tjenestene
Starter programmet

Programmet består av følgende filer: rss.php - startfil, rss.inc - inkludert fil med beskrivelse av klassen, conn.inc - fil med beskrivelse av databasetilkoblingsparametere.

For å kjøre programmet endrer du databasetilkoblingsdataene i conn.inc-filen, endrer feedparameterne i rss.php-filen og skriver til evt. praktisk katalog på din Internett server, i hvert fall i roten. Ikke glem å sjekke datastrukturen MySql-databaser, for et program kan du for eksempel bruke dette:

LAG TABELLBLOGG (ID int(11) IKKE NULL standard "0", tittel varchar(50) standard NULL, beskrivelsestekst standard NULL, lenke varchar(200) standard NULL, dato dato standard NULL, kategori varchar(100) NOT NULL standard "", ab varchar(10) NOT NULL standard "", PRIMARY KEY (ID)) TYPE=MyISAM;

etter det vil du ha en tape med adressen

Hva blir det neste?

Ikke glem å sette en knapp på et synlig sted og legge til koden mellom taggene på sidene på nettstedet ditt:
slik at nettlesere forstår at du har en feed. Og, selvfølgelig, registrer innmatingen søkemotor, for eksempel http://blogs.yandex.ru/add.xml og i katalogen http://blogs.yandex.ru/add-catalogue.xml

Du kan laste ned programmet for å lage RSS-feeder gratis, Rss.php (3 Kb)

Jeg googlet det for deg. Jeg har lenge lett etter en plugin som gjør at jeg raskt og enkelt kan lage en så enkel effekt, uten gigantiske mengder kode og utspekulerte forviklinger. Og jeg fant den og er veldig glad for den. Faktisk skriver jeg også dette innlegget for meg selv, som et bokmerke slik at jeg kan se her neste gang jeg skal lage et bildegalleri med autorulling.

Skrive html for bildefeeden

Det er en klassiker her. Vi bruker en ul-liste og pakker den inn i en div. Vi vil sette en plugin på denne div, så den trenger en identifikator. I mitt tilfelle er det en klasse.

Det er viktig at bildene har samme størrelse. Ellers vil det ikke se så imponerende ut. Derfor må du sile og behandle dem.

Forbereder JavaScript for bildekarusellen

Du må koble til jQuery. Jeg tror alle vet hvordan man gjør dette. Du må også inkludere jcarousel Lite-biblioteket. Hun gjør alt.

Etter å ha lastet inn siden, må du sette plugin til bildefeeden vår og et mirakel vil skje!

$(function() ( $(".mycarousel").jCarouselLite(( auto: 2000, hastighet: 1000, sirkulær: sann, synlig: 4 )); ));

Dette er alt! Egentlig. Det trengs ikke noe mer. Du trenger ikke å koble til eller konfigurere temaer. Du trenger ikke å gjøre noen kontroller eller skrive tilleggskode. Du har standard kode liste over bilder og et enkelt kall til plugin-modulen med parametere. Slik skal det være. Jeg er glad, for å være ærlig.

OM mulige parametere og deres betydninger kan leses i originalen på plugin-siden. Vel, jeg skal kort fortelle deg hvorfor.

Mulige gallerialternativer

btnPrev - identifikator som definerer "Tilbake"-knappen. Dette er nødvendig hvis du gjør rullekontroll ved hjelp av knapper.

btnNext - identifikator for "Videresend"-knappen.

btnGo - du kan navigere etter elementnummer. Når du klikker på et element, skal karusellen rulle til et spesifikt element. Les mer i dokumentasjonen.

mouseWheel - sann/falsk verdi som bestemmer om karusellen skal rulle når musen rulles. Krever musehjul-plugin.

auto - true/false verdi som avgjør om båndet vil spinne av seg selv.

hastighet - rullehastighet i millisekunder.

lettelser - rulleeffekt. Du kan lage en spretteffekt. Krever easing-plugin.

vertikal - kanskje du trenger at bildene roterer vertikalt?

sirkulær - vil båndet stoppe når det når det siste bildet eller vil det snurre i en sirkel?

synlig - hvor mange elementer er synlige

start - hvilket element du skal begynne med

bla – hvor mange elementer du skal bla gjennom

førstart - tilbakeringingsfunksjon, kalt før animasjonen starter

afterEnd - callBack-funksjon kalt på slutten av animasjonen

Nyhetsstrømmen er allerede i lang tid Er mest på en enkel måte mottar ny informasjon fra hvilken som helst nettside eller blogg. Vanligvis inkluderer et nyhetsbrev fra en nyhetsfeed hele eller forkortet tekst til publikasjonen, overskriften, lyd- eller videomaterialet, presentert i et standardisert format.

1.Facio

Facio er en jQuery-plugin som vises siste nytt fra den angitte Facebook-siden. Widgeten har også en Like-knapp. Bare integrer plugin-en på nettstedet ditt, spesifiser sideadressen og vis innhold fra det sosiale nettverket på nettsidene dine.

2. Feedify


Feedify – jQuery-plugin for å konvertere tekst til HTML-nyhetsfeed, som på Twitter og Facebook.

3. Sosial feed


Social Feed er en jQuery-plugin som viser en spesifikk brukers nyhetsfeed fra kontoene hans på flere sosiale nettverk.

4.MiniTwitter


MiniTwitter er en jQuery-widget som lar deg videresende kommentarer fra Twitter til WordPress-nettstedet eller bloggen din.

5. jFlickrFeed-plugin


jFlickrFeed Plugin gjør det enkelt å hente innhold fra Flickr og vise det på din egen side.

6. zTwitterFeed


zTwitterFeed-plugin leser tweets enkelte brukere på Twitter. Deretter transformeres oppføringene til strukturert HTML-kode med innebygde CSS-klasser.

7. zFlickrFeed


zFlickrFeed-pluginen kan hente bilder fra spesifikke Flickr-brukere. Deretter mottar vi strukturert HTML-kode med innebygde CSS-klasser.

8. zLastFM


zLastFM-pluginen henter informasjon om favorittsanger, nylig lyttede sanger, favorittalbum, artister og sanger fra Last.FM-profiler (API-nøkkel kreves). Deretter produserer plugin strukturert HTML-kode med innebygde CSS-klasser.

9. zWeatherFeed


zWeatherFeed-plugin-modulen videresender informasjon om gjeldende værforhold fra Yahoo! Vær. Du kan spesifisere en eller flere geografiske steder, bruk bakgrunnsbilder, som reflekterer værforhold, samt dag- og nattdesign. Du kan også vise informasjon om byen og gjeldende temperatur.

10. FeedEk


FeedEk er et jQuery-plugin for å analysere og vise RSS- og Atom-feeder. FeedEk bruker Google Feed API for å hente data. Du kan enkelt få nyhetsstrømmen til et hvilket som helst domene uten å måtte bruke skript på serversiden.

11. Ballboy.js


ballboy.js – jQuery-plugin som henter tilpassede arbeider fra Dribbble-tjenesten, og viser dem på nettstedet.

12. Yunero


Yunero er en ny jQuery-plugin for å vise en nyhetsstrøm fra en Youtube-kanal. Du kan også angi en lenke til spillelister du vil vise videoer fra. I tillegg, sammen med widgeten, kan du vise et kanalabonnementsskjema, som vil øke antallet vanlige brukere.

13. Sosialist


Socialist – plugin for å vise nyhetsfeed fra sosiale nettverk, som kombinerer alle kanaler på ett sted. Du kan vise en enkelt nyhetsstrøm fra Facebook, Twitter, LinkedIn, YouTube, Pinterest, Flickr, Tumblr, Craiglist RSS og andre sosiale nettverk.

14. jQuery Google Feed


Google Feed er en plugin som lar utviklere blande forskjellige nyhetsfeeds på klient side. For å gjøre dette trenger du bare å integrere det nye API-skriptet fra Google.

15. Fancy nyheter


Fancy News er en jQuery-plugin som lar deg lage attraktive nyhetsfeeds. Den er veldig enkel å bruke og tilbyr mange innstillinger utseende. Du kan legge til et ubegrenset antall nyheter med miniatyrbilder. Hvis publikasjonen er større enn visningsområdet, legges rulling automatisk til. Det er også mulig å laste opp din egen RSS-feed.

Hva har alle informasjonssider til felles? Hva er nødvendigvis tilstede på hjemmeside? Hvis du tenkte på nyhetene, hadde du rett! I dag skal vi finne ut nøyaktig hvordan du lager din egen nyhetsfeed med et adminpanel og beskyttelse i PHP. Jeg vil si på forhånd at dette ikke er en vanskelig oppgave i det hele tatt, men det vil heller ikke ta to minutter, så fyll opp med alt du trenger (øl, cola, juice, chips...) og gå! La oss først tenke på strukturen til nyhetsstrømmen. Selvfølgelig skal vi bruke mysql, men hva skulle vi gjort uten det! Dataene vil bli lagret i en mysql-database, som vi vil kalle mynews. Hvilken? Jeg skal forklare nå. La oss plassere en tabell kalt nyheter i mynews-databasen. Og i tabellen - dette er hva:

News_id - MediumInt length 9 AutoIncrement, dette vil være primærnøkkelen.
Ntext - nyhetstekst, skriv inn Tekst.
Ntitle - nyhetstittel, type varchar, lengde 255
Ndate er en dato, varchar, lengde 255
Nuser - og dette er navnet på forfatteren av nyhetene, varchar, lengde 255.

Hvordan lage alt dette? Les de tidligere tekstene på denne siden, alt er der nødvendig informasjon. Og fra meg selv kan jeg anbefale en utmerket, veldig praktisk program Mysql-Front, der alle tabeller lages visuelt. Men la oss gå videre. La oss nå finne ut hvilke skript som må skrives. Jeg foreslår å skrive følgende: admin.php, createnews.php (dette skriptet vil lage nyhetene), tnews.php (vil vise nyhetene). Du kan skrive et skript for å slette nyheter, men du kan gjøre dette selv etter at du har fullført øvelsen. Så la oss begynne. La oss først skrive createnews.php-skriptet. Det vil ikke være veldig klart foreløpig, men alt vil falle på plass etter at du har sett på admin.php-oppføringen.

Oppføring 1. Createnews.php

"". addslashes($ntitle)."" // Denne linjen er nødvendig for å sikre at sitatene vises riktig i tittelen.

Som du kan se, brukes varchar i stedet for en mysql-dato, det er enklere. Nå, for at alt i det vurderte skriptet skal falle på plass, må du skrive et adminpanel. La oss skrive.

Oppføring 2. Admin.php

Legge til nyheter Legge til nyheter Nyhetstittel:
Navnet ditt:
Tekst

Tydeligvis en enkel html-skjema. Så hvorfor lage et PHP-skript? Fordi vi ikke tenkte på sikkerhet i det hele tatt. Sikkerheten til administrasjonspanelet kan sikres ved å nekte tilgang til tilfeldige brukere, ikke de som kjenner innloggingen og passord. En angriper vil kunne finne ut passordet først da (og ikke tidligere) når han får tilgang til skriptet, dvs. til katalogen. Endre admin.php som følger:

Oppføring 3. Modifisert admin.php

Legge til nyheter Legge til nyheter Nyhetstittel:
Navnet ditt:
Tekst

La oss ta en titt på det skrevne manuset. Helt i begynnelsen tildeles gjeldende pålogging og passord til to variabler, deretter kontrolleres de angitte. Hvis de angitte dataene inneholder " (tom), eller ikke er lik det som er lagret i variablene, vises den triste meldingen " for ][aker] Ugyldig navn bruker eller passord." Ellers vises "Autorisering var vellykket" og går html-kode. Innspillsskjemaet er beskrevet helt til slutt.

Det er det med administrasjonspanelet. La oss nå gå videre til skriptet som viser nyhetsstrømmen.

Oppføring 4. tnews.php:

Hva bør du være oppmerksom på her? For det første på forespørsel

$request = "VELG ntekst , ntitle , ndate , nuser FRA nyheter BESTILL ETTER ndate DESC LIMIT 15";

Den sier dette: vis nyheter sortert etter dato, og vis kun de første 15 nyhetene på siden. mysql funksjon _fetch_array($result) returnerer en matrise som er skrevet til $row-variabelen. For de som ikke vet hva og nbsp det er, sier jeg: det er det ledig plass. Alt som gjenstår å gjøre er å sette inn nyheter på en ferdig side, for eksempel slik:

Inkluder("./tnews.php")

Det var alt jeg ville fortelle deg. Hvis du har spørsmål, spør dem gjerne på nettsiden vår.