የእረፍት ዌብሊንኮች php. የ Joomla አካላት የሥራ ቅደም ተከተል (አፈፃፀም)። በማይክሮሶፍት ኢንተርኔት ኤክስፕሎረር ውስጥ የአድራሻ አሞሌ ማጭበርበር

የመግቢያ ነጥብ ወደ Joomla! አካል ለአብዛኞቹ ክፍሎች ተመሳሳይ ነው። ለዚህ ምሳሌ ከ Joomla ዋና ክፍሎች አንዱን እንጠቀማለን - ዌብ ሊንክ። በፊተኛው ጫፍ የሚፈጸመው የመጀመሪያው ፋይል፡- .../components/com_weblinks/weblinks.php።

በመጀመሪያ ማንም ሰው ወደዚህ ገጽ መደወል እንደማይችል ለማረጋገጥ የተነደፈ የደህንነት ፍተሻ እናያለን። ይህ በሁሉም የ php ፋይሎችዎ ውስጥ ጥቅም ላይ መዋል ያለበት መመዘኛ ነው (ምንም እንኳን ልዩ ሁኔታዎች ቢኖሩም)

የተወሰነ ተቆጣጣሪ ስም እንደተላከ ለማየት የመጠይቁን ሕብረቁምፊ እንፈትሻለን። ከሆነ፣ አስፈላጊውን ፋይል በተቆጣጣሪዎች ማውጫ ውስጥ መጫን እንደምንችል እናረጋግጣለን።

// ከተጠየቀ የተለየ ተቆጣጣሪ ጠይቅ ($controller = JRequest:: getWord("controller")) ( $path = JPATH_COMPONENT. DS. "controllers" . DS. $controller . ".php" ; ከሆነ (ፋይል_ ካለ ($ ዱካ ) ) ( አንድ ጊዜ $ ዱካ ያስፈልጋል ፤ ) ሌላ ($controller = "" ; ))

አሁን ከላይ የገለጽነውን ስም በመጠቀም የኛን ተቆጣጣሪ ክፍል አፋጣኝ እናደርጋለን፡-

ስራው እንደተጠናቀቀ፣ አስፈላጊ ከሆነ አቅጣጫ መቀየርን እናከናውናለን፡-

// በመቆጣጠሪያው ከተዋቀረ አቅጣጫ አዙር $controller -> ማዞር () ;
የመቆጣጠሪያ ክፍል

የአገናኞች ክፍል አጠቃላይ (የተወሰነ) ተቆጣጣሪ እዚህ አለ፡- .../components/com_weblinks/controller.php።
ይህ ክፍል በሙሉ የማሳያ ዘዴን ይገልፃል, ይህም ተጠቃሚው ሌላ ተግባር ካልገለፀ በስተቀር ጥቅም ላይ የዋለው ነባሪ ዘዴ ነው.

የተገለጸ ("_JEXEC") ወይም መሞት ("የተገደበ መዳረሻ");

jimport ("joomla.application.component.controller");
/** * የዌብሊንኮች አካል ተቆጣጣሪ * * @ጥቅል Joomla * @ንዑስ ጥቅል ዌብሊንኮች * @ከ1.5 */ ክፍል ዌብሊንኮች መቆጣጠሪያ JControllerን ያራዝመዋል (/** * የድር አገናኝ እይታን ለማሳየት ዘዴ * * @መዳረሻ ይፋዊ * @ከ1.5 */ የተግባር ማሳያ () (// ምንም ከሌለ ነባሪ እይታን ያዘጋጁ ( ! JRequest :: getCmd ( "እይታ")) ( JRequest :: setVar ( "ዕይታ" , "ምድቦች" ) ፤ // ለዌብሊንክ የተመዘገቡትን ብዛት ያዘምኑ ከሆነ (JRequest:: getCmd ("እይታ") == "ዌብሊንክ") ($model =& $this -> getModel ("weblink")፣ $model -> መምታት () ፤) // የመሸጎጫ አመክንዮ ይመልከቱ -- ቀላል ... ገብተናል $user = & JFactory :: getUser() ; $view = JRequest ::getVar("እይታ" ""INT") ፤ ($ ተጠቃሚ -> ማግኘት ("id"); ) ||.
በዚህ ዘዴ ሌላ እይታ እንደ መጠይቅ ሕብረቁምፊ መለኪያ ካልተላለፈ በስተቀር ምድቦችን ለማሳየት ነባሪውን እይታ አዘጋጅተናል። የሚፈለገው እይታ ዌብሊንክ ከሆነ፣ የአገናኝ እይታ ቆጣሪውን እንጨምራለን ። ከዚያ የእይታ ተለዋዋጭ ዋጋን እናዘጋጃለን እና የወላጃችን JController ክፍል የዲፕሌይ ዘዴን እንጠራዋለን።
ለ GetModel ዘዴ ጥሪ ልዩ ትኩረት መስጠት ተገቢ ነው. ለክፍሉ አስፈላጊውን ሞዴል ይጭናል. በዚህ ምሳሌ፣ ይህ ዘዴ እዚህ የሚገኘውን የዌብሊንክ ሞዴል ይጭናል፡- .../components/com_weblinks/models/weblink.php።

እዚህ የተለየ እይታ እንዳልጠየቅን እንስማማለን፣ እና ስለዚህ የእኛ እይታ ወደ ምድቦች ይቀየራል።

በመቀጠል የእይታ ክፍሉን እንከፍተዋለን.

// ይህ ፋይል በ Joomla ውስጥ መካተቱን ያረጋግጡ!< count ($categories ) ; $i ++ ) { $category =& $categories [ $i ] ; $category ->የተገለጸ ("_JEXEC") ወይም መሞት ("የተገደበ መዳረሻ");

በድጋሚ, ይህ አንድ የማሳያ ዘዴ ያለው በጣም ቀላል ክፍል ነው. እዚህ ያለው አብዛኛው አመክንዮ ለአገናኝ ክፍሉ ብቻ የተወሰነ ነው፣ ነገር ግን በቅርበት ከተመለከቱ በአብዛኛዎቹ ክፍሎች እይታ ክፍሎች ውስጥ ጥቅም ላይ የሚውሉ ተግባራትን ማግኘት ይችላሉ። በማሳያ ዘዴው መጨረሻ ላይ ይህ ክፍል የወላጅ (JView) የማሳያ ዘዴን ይደውላል, የአብነት ስሙን ለማሳየት ያስተላልፋል. የማሳያው አብነት ስም ካልተላለፈ "ነባሪ" አብነት ጥቅም ላይ ይውላል.
እና በመጨረሻ, የአብነት ክፍልን እንከፍተዋለን.

የአብነት ክፍል

አንድ የተወሰነ የአብነት ስም እንዳልተላለፈ እንስማማ፣ ስለዚህ ነባሪው አብነት ጥቅም ላይ ይውላል። በዚህ አጋጣሚ የሚከተለው ፋይል ግምት ውስጥ ይገባል፡- .../components/com_weblinks/views/categories/tmpl/default.php
-> ማምለጥ (ይህ -> ፓራሞች -> ያግኙ ("ገጽ_ርዕስ") ) ;

  • ( )

?>

እዚህ ያለው አብዛኛው አመክንዮ እየተተገበረ ላለው አካል የተወሰነ ነው። እንዲሁም ይህ ፋይል ሁሉንም HTML ከ PHP ጋር የተቀላቀለ መሆኑን ከኮዱ ማየት ትችላለህ - እነዚህ ባህሪያቱ እና አላማዎቹ ናቸው።

በክፍሎች ውስጥ ጥቅም ላይ የዋሉ ሌሎች ፋይሎች

  • በክፍሎች ውስጥ ሊያገኟቸው የሚችሏቸው ሌሎች የፋይል ዓይነቶች፡-
  • አጋዥ - አካላት ብዙውን ጊዜ የ helper.php ፋይልን ወይም ብዙ ፋይሎችን የያዘ የረዳቶች ማውጫ ይጠቀማሉ። እነዚህ ፋይሎች በተለምዶ የክፍሉን አጠቃላይ ተግባር ብቻ ይይዛሉ።
  • ንብረቶች በክፍሉ ውስጥ ለተካተቱት ሌሎች ፋይሎች ሁሉን የሚይዝ አቃፊ ይመስላል።
  • router.php - ይህ ፋይል ጥቅም ላይ የሚውለው የ SEF ዩአርኤል መቼት ሲነቃ በሁለቱም አቅጣጫዎች ዩአርኤሉን ለመተርጎም ነው (ወደ ሰው ሊነበብ የሚችል ተለዋጭ ስሞች እና ወደ Joomla ስርዓት እይታ ከግቤቶች ጋር)።
  • xml ፋይሎች - ብዙውን ጊዜ መለኪያዎችን እና ስለ ክፍሉ መረጃ እና አጠቃላይ እይታን ይገልፃሉ። እነሱ ጥቅም ላይ ይውላሉ, ለምሳሌ, የመለዋወጫ ምናሌ ንጥሎችን ሲፈጥሩ.
  • index.html - በሁሉም ማውጫዎችዎ ውስጥ ባዶ index.html ፋይል መኖሩ ጥሩ ልምምድ ነው። ይህ እንደዚህ ያለ ተገብሮ የደህንነት እርምጃ ነው።

css/images/js - በደንበኛው በኩል (በአሳሹ) ላይ ያለውን ንድፍ እና ተግባራዊነት ለመተግበር የተለያዩ ፋይሎችን የያዙ አቃፊዎች።

የፍለጋ ፕሮግራሞችን ለጣቢያዎ ያለውን አመለካከት ለማሻሻል የሚረዱትን ትንሽ ነገር ግን በጣም ጠቃሚ የጣቢያ ስክሪፕቶችን ለእርስዎ ማካፈሌን ቀጥያለሁ። በዚህ ጊዜ ስለ ትክክለኛ ገጽ ማገናኘት እንነጋገራለን.

ገጽ_አድራሻ_1፤ መልሕቅ_1፣ መልሕቅ_2፣ መልሕቅ_3፣...፣ መልሕቅ_1፣ መልሕቅ_2፣ መልሕቅ_3፣...፣ መልሕቅ_1 መልህቅ_3፣ ...፣ መልህቅ_n

እንደሚመለከቱት ፣ የስክሪፕቱን ተጨማሪ አጠቃቀም በማንኛውም የገጽ አድራሻዎች እና ለእነሱ መልሕቆች መጠቀም ይቻላል ። የገጹ አድራሻ የተጻፈው ያለ http://www.site.ru/ ነው, ማለትም. ወዲያውኑ ከሥሩ ሥር ያለ የመጀመሪያ ጩኸት. አድራሻው ከመልህቆቹ በሴሚኮሎን ተለያይቷል፣ እና መልህቆቹ በነጠላ ሰረዝ ብቻ ይለያሉ። እንዲሁም ሙሉ አድራሻውን መጻፍ ይችላሉ, ለእኔ በግል ለእኔ የበለጠ አመቺ ነው, ነገር ግን የውጤቱን መሙላት እና ውፅዓት እራስዎ መቀየር ይችላሉ, እርስዎ እራስዎ በትክክል የሚያውቁት ይመስለኛል.

እና ስለዚህ ለእነሱ የአገናኞች እና መልህቆች የውሂብ ጎታ ተፈጥሯል ፣ ከዚህ በታች በጣቢያው ላይ ለማገናኘት አገናኞችን በቀጥታ ለማሳየት የ PHP ኮድ ምሳሌ እሰጣለሁ ።

ይህንን ኮድ ከመረጃ ቋቱ ውስጥ 5 የዘፈቀደ አገናኞችን እና የዘፈቀደ መልህቅን የሚያሳየውን በጣቢያው ላይ በማንኛውም ቦታ እንለጥፋለን። ወደ ማገናኛ 1 ብቻ ከመጻፍ ይልቅ መልህቆችን ማቅለጥ ይሻላል. በድር ጣቢያዎ ላይ በትክክል ማገናኘት, ወዲያውኑ የትራፊክ መጨመር እና በሌሎች የድር ጣቢያ አመልካቾች ላይ መሻሻል ያያሉ.

በዚህ ጽሑፍ ውስጥ በአስተያየቶች ውስጥ ጥያቄዎችዎን በጉጉት እጠብቃለሁ.

የታተመበት ቀን፡- መጋቢት 03 ቀን 2014 ዓ.ም
    ግምገማዎች እና አስተያየቶች፡-

    ዲሚትሪ፡
    ለስክሪፕቱ አመሰግናለሁ፣ እኔ ተግባራዊ አደርጋለሁ። ከጣቢያው ምንጭ ኮድ ለመቅዳት የማይቻል ነው;

    ኪሪል፡
    ስለ መቅዳት ማስታወሻ አመሰግናለሁ፣ አሁን አይቻለሁ፣ በቅርቡ ለማስተካከል እሞክራለሁ።

    አሌክሲ ፓቭሎቭ:
    በመስመሩ ላይ ስህተት $tex = ሊፈነዳ(":",$sendlist[$count] ሴሚኮሎን እንጂ ኮሎን አይደለም የሚያስፈልግህ። ይበልጥ ግልጽ ለማድረግ ኮዱን ትንሽ ቀይሬዋለሁ፡-