pragmaMx Support Forum pragmaMx Support Forum

Content PID abfragen

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline susoft

  • ***
  • 146
  • +0/-0
  • Geschlecht: Männlich
Content PID abfragen
« am: 04 März 2017, 12:17:14 »
Hallo zusammen,
gibt es eine Möglichkeit in einem Block die PID des aktuellen Contens abzufragen?

Also eine Erweiterung des -> if (!defined('MX_MODULE') || MX_MODULE != 'Content')
PMx 2.3.0.243 | PHP: 5.6.19 | MySQL: 5.6.33 | Apache 2.2.3

Offline Olaf

  • ******
  • 2.067
  • +2/-0
  • Geschlecht: Männlich
    • TECMU
Re:Content PID abfragen
« Antwort #1 am: 04 März 2017, 17:06:49 »
du kannst über die $_GET-Variablen auf diese Werte zugreifen...
in $_GET['pid'] steckt die ID, die du brauchst
g

Olaf
...:::

Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

Offline susoft

  • ***
  • 146
  • +0/-0
  • Geschlecht: Männlich
Re:Content PID abfragen
« Antwort #2 am: 06 März 2017, 10:34:04 »
Vielen Dank, passt

Grüsse aus der Zentralschweiz
PMx 2.3.0.243 | PHP: 5.6.19 | MySQL: 5.6.33 | Apache 2.2.3

Offline susoft

  • ***
  • 146
  • +0/-0
  • Geschlecht: Männlich
Re:Content PID abfragen
« Antwort #3 am: 13 Oktober 2021, 21:57:02 »
du kannst über die $_GET-Variablen auf diese Werte zugreifen...
in $_GET['pid'] steckt die ID, die du brauchst
Hallo, ist es möglich, dass dieses hier nichts mehr funktioniert, gibt es da eine neue Variante?
Problem siehe Bilder im Anhang

Grüsse aus der Zentralschweiz
PMx 2.3.0.243 | PHP: 5.6.19 | MySQL: 5.6.33 | Apache 2.2.3

Offline Olaf

  • ******
  • 2.067
  • +2/-0
  • Geschlecht: Männlich
    • TECMU
Re: Content PID abfragen
« Antwort #4 am: 13 Oktober 2021, 22:27:58 »
Was ist das für ein Block und was soll der tun ?
g

Olaf
...:::

Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

Offline susoft

  • ***
  • 146
  • +0/-0
  • Geschlecht: Männlich
Re: Content PID abfragen
« Antwort #5 am: 14 Oktober 2021, 10:51:53 »
Was ist das für ein Block und was soll der tun ?
Hallo Olaf, diese Blöcke fragen ab welches Modul das aktiv ist und werden dann je nach Modul angezeigt oder nicht.
Gut zu sehen auf der aktiven Homepage (noch unter php 5.x) https://nsv-ski.ch (einfach oben das Menu wechseln) dann sieht man das.
Gruss aus der Zentralschweiz
PMx 2.3.0.243 | PHP: 5.6.19 | MySQL: 5.6.33 | Apache 2.2.3

Offline Olaf

  • ******
  • 2.067
  • +2/-0
  • Geschlecht: Männlich
    • TECMU
Re: Content PID abfragen
« Antwort #6 am: 14 Oktober 2021, 11:40:09 »
nach der Fehlermeldung wird keine PID per $_GET übergeben. Also solltest du noch zusätzlich testen, ob $_GET['pid'] gesetzt ist. mit array_key_exists oder empty etc. je nach dem, was Sinn macht.
g

Olaf
...:::

Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

Offline susoft

  • ***
  • 146
  • +0/-0
  • Geschlecht: Männlich
Re: Content PID abfragen
« Antwort #7 am: 14 Oktober 2021, 12:02:10 »
nach der Fehlermeldung wird keine PID per $_GET übergeben. Also solltest du noch zusätzlich testen, ob $_GET['pid'] gesetzt ist. mit array_key_exists oder empty etc. je nach dem, was Sinn macht.
Danke Olaf, ich werde das Anfangs nächste Woche anschauen, das problem ist aber, dass es auf dem alten Server funktionier ohne Probleme, wie du auch im URL sehen kannst, nur auf dem neuen mit PHP 7 habe ich das problem.

Melde mich wieder
Andreas
PMx 2.3.0.243 | PHP: 5.6.19 | MySQL: 5.6.33 | Apache 2.2.3

Offline Olaf

  • ******
  • 2.067
  • +2/-0
  • Geschlecht: Männlich
    • TECMU
Re: Content PID abfragen
« Antwort #8 am: 14 Oktober 2021, 12:52:00 »
ab PHP7 werden zum Teil andere Fehlermeldungen aktiv. z.bsp. werden nicht vorhandene Keys in arrays genau mit dieser Fehlermeldung quittiert. Also kommst du nicht um diese Abfragen umhin. Geändert hat sich also PHP, nicht pragma. Wir haben auch an eine Unmasse an Stellen im core genau diese Problematik gehabt und den Code entsprechend anpassen müssen. Ist eine Fleissarbeit, muss aber sein.
g

Olaf
...:::

Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

Offline susoft

  • ***
  • 146
  • +0/-0
  • Geschlecht: Männlich
Re: Content PID abfragen
« Antwort #9 am: 20 Oktober 2021, 09:37:25 »
ab PHP7 werden zum Teil andere Fehlermeldungen aktiv. z.bsp. werden nicht vorhandene Keys in arrays genau mit dieser Fehlermeldung quittiert. Also kommst du nicht um diese Abfragen umhin. Geändert hat sich also PHP, nicht pragma. Wir haben auch an eine Unmasse an Stellen im core genau diese Problematik gehabt und den Code entsprechend anpassen müssen. Ist eine Fleissarbeit, muss aber sein.
Hallo Olaf, bin noch nicht so richtig dazu gekommen, viel zu tun. Eine Frage habe ich aber schon, die PID, gibt es diese Variable noch oder hat sich da etwas geändert, für die Abfrage, welches Modul das aktiv ist?
Auf alle Fälle auch schon mal wieder, vielen Dank für deinen immer schnellen und kompetenten Support.
Grüsse aus der Zentralschweiz
Andreas
PMx 2.3.0.243 | PHP: 5.6.19 | MySQL: 5.6.33 | Apache 2.2.3

Offline Olaf

  • ******
  • 2.067
  • +2/-0
  • Geschlecht: Männlich
    • TECMU
Re: Content PID abfragen
« Antwort #10 am: 20 Oktober 2021, 10:40:19 »
- um abzufragen welches Modul gerade aktiv ist, ist die Konstante PMX_MODULE zu nehmen. In dieser steht der aktuelle Modulname.
- Um zu testen, ob die Home-Seite aufgerufen ist, testen, ob if (MX_HOME_FILE == true ) ist
- um zu testen, ob ein bestimmtes Modul aktiv ist, testen auf mxModuleActive("modulname") = true- um zu testen, ob das Modul aktiv ist, worin sich mein Block befindet :
    if (mxModuleActive(basename(dirname(dirname(__FILE__)))) {
      /* mein Code hier */
   }

oder besser
   
$module_name=basename(dirname(dirname(__FILE__)));
if (!mxModuleAllowed($module_name) or $module_name != MX_MODULE) {
      $mxblockcache=false;
      return;
   }

Wenn sich der Block in "modules/meinmodul/blocks" befindet

Auch zu sehen, in den neuen Blocken bei Documents: z.Bsp. block-Documents-related-News-short.php
Da wird diese Technik auch eingesetzt.
     
g

Olaf
...:::

Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

Offline susoft

  • ***
  • 146
  • +0/-0
  • Geschlecht: Männlich
Re: Content PID abfragen
« Antwort #11 am: 20 Oktober 2021, 15:43:04 »
- um abzufragen welches Modul gerade aktiv ist, ist die Konstante PMX_MODULE zu nehmen. In dieser steht der aktuelle Modulname.
- Um zu testen, ob die Home-Seite aufgerufen ist, testen, ob if (MX_HOME_FILE == true ) ist
- um zu testen, ob ein bestimmtes Modul aktiv ist, testen auf mxModuleActive("modulname") = true- um zu testen, ob das Modul aktiv ist, worin sich mein Block befindet :
    if (mxModuleActive(basename(dirname(dirname(__FILE__)))) {
      /* mein Code hier */
   }

oder besser
   
$module_name=basename(dirname(dirname(__FILE__)));
if (!mxModuleAllowed($module_name) or $module_name != MX_MODULE) {
      $mxblockcache=false;
      return;
   }

Wenn sich der Block in "modules/meinmodul/blocks" befindet

Auch zu sehen, in den neuen Blocken bei Documents: z.Bsp. block-Documents-related-News-short.php
Da wird diese Technik auch eingesetzt.
     
Hallo Olaf, vielen Dank für die Informationen, jetzt muss ich nur noch die Zeit finden das zu änern
Bis bald mal
Andreas
PMx 2.3.0.243 | PHP: 5.6.19 | MySQL: 5.6.33 | Apache 2.2.3

Offline susoft

  • ***
  • 146
  • +0/-0
  • Geschlecht: Männlich
Re: Content PID abfragen
« Antwort #12 am: 22 November 2021, 17:29:17 »
Hallo Olaf, vielen Dank für die Informationen, jetzt muss ich nur noch die Zeit finden das zu änern
Bis bald mal
Andreas
Hallo Olaf, dass ganz passt perfekt und funktionier.
Jetzt müsste ich nur noch wissen, wie es sich mit der "alten" Variable $apid verhält, da habe ich noch dasselbe Problem, mit dieser Variable könnte man bisher die Nummer des Content auslesen.

Grüsse aus der Zentralschweiz
Andreas
PMx 2.3.0.243 | PHP: 5.6.19 | MySQL: 5.6.33 | Apache 2.2.3

Offline Olaf

  • ******
  • 2.067
  • +2/-0
  • Geschlecht: Männlich
    • TECMU
Re: Content PID abfragen
« Antwort #13 am: 22 November 2021, 18:33:35 »
keine Ahnung wo dieses $apid herkommen soll.....
wenn du das Modul "Content" meinst, dann heist diese Variable $pid und ist global verfügbar im Code.
g

Olaf
...:::

Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

Offline susoft

  • ***
  • 146
  • +0/-0
  • Geschlecht: Männlich
Re: Content PID abfragen
« Antwort #14 am: 22 November 2021, 20:27:00 »
keine Ahnung wo dieses $apid herkommen soll.....
wenn du das Modul "Content" meinst, dann heist diese Variable $pid und ist global verfügbar im Code.
Hallo Olaf, mit $apid konnte ich bis jetzt abfragen, welcher content, vom content Modul angezeigt wird. Ich habe dir den Block mit der Abfrage mal angehängt
PMx 2.3.0.243 | PHP: 5.6.19 | MySQL: 5.6.33 | Apache 2.2.3

Offline Olaf

  • ******
  • 2.067
  • +2/-0
  • Geschlecht: Männlich
    • TECMU
Re: Content PID abfragen
« Antwort #15 am: 22 November 2021, 21:19:01 »
also
$pid=$_GET['pid']; holt die PID vom Content-Modul. $apid gibt es da schon lange nicht mehr....

nun musst du aber auch nachsehen, ob PID überhaupt gesetzt wurde.
if (array_key_exists('pid',$_GET)) {
$pid=$_GET['pid'];
} else {
$pid=0;
}
wenn also $pid=0 dann ist es die Startseite vom Content-Modul. Wenn pid >0 dann ist es die id des Inhaltes.
g

Olaf
...:::

Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!