[gelöst] Exposed-Filter als Block programmatisch (nicht in Region) einbinden
am 20.03.2013 - 18:51 Uhr in
Hallo,
es ist ja schön, daß das überhaupt geht, aber die dazu nötige block_ID (bzw. delta):
You can find the correct module name and block id from the url on the configure link on the block administration page
ist eine 32-stellige !!! Zeichenfolge, die ich mühsam aus der Statusleiste abschreiben muß, das sieht dann so aus:
$filterBlock = module_invoke('views', 'block_view', '39429cf5dd386e9da6c14298937ea60a');
print $filterBlock['content'];
Hat vielleicht jemand eine Idee, wie man diese block_id irgendwie aus dem Namen des Blocks ermitteln kann ?
Mit der Funktion block_list($region)
bekomme ich nur die Blocks, die irgendeiner Region zugewiesen sind - und das wollte ich gerade vermeiden.
mfG, Michael
- Anmelden oder Registrieren um Kommentare zu schreiben
es heißt doch bei dir: and
am 22.03.2013 - 21:47 Uhr
es heißt doch bei dir:
and block id from the url on the configure link on the block administration page
und genau da findest du auch die block_ID, nämlich unter:
admin/structure/block
und wenn du dann mit der Maus über konfigurieren fährst, dann siehst du in der Statusleiste des Browser so Einträg wie:
....admin/structure/block/manage/block/52/configure
Also diese 52 ist doch sicher mit der block_ID gemeint.
Gruß
Berthold
Drupal Video-Tutorials
es geht um einen exposed filter (Modul Better-Exposed-Filters),
am 23.03.2013 - 13:57 Uhr
den ich in einem View eingebaut habe, mit der Einstellung: Exposed form in block: Ja
Dann wird mir dieser Filter in der Block-Übersicht angezeigt, und der Link über Konfigurieren sieht genau so aus, wie ich oben geschrieben hatte:
....admin/structure/block/manage/views/39429cf5dd386e9da6c14298937ea60a/configure
das ist die block_ID, und ich kann den Filter damit auch wie oben beschrieben in meine page--xyz.tpl.php einbauen.
Ich will ihn nicht irgendeiner page-region zuweisen, um die DIV-Verschachtelung so weit wie möglich zu reduzieren.
Das view-display ist übrigens nicht vom Typ Page, sondern Content-Pane -
vielleicht liegt es ja an dieser Kombination von View->ContentPane->BetterExposedFilter->Block, daß Drupal eine so abenteuerliche ID erzeugt
aber damit muß man wohl leben ...
Michael
Nachtrag:
mir ist grade eingefallen (peinlich, peinlich), daß man die ID ja nicht aus der Statusleiste abschreiben muß, sondern aus der Adresszeile kopieren kann, wenn man die Blockkonfiguration aufruft ...
Außerdem hatte ich befürchtet, daß diese ID irgendwie zufällig erzeugt wird, so daß sie auf verschiedenen Servern (lokale Entwicklung, live Test, ...) unterschiedlich sein wird,
was aber offenbar nicht der Fall ist.