-
Notifications
You must be signed in to change notification settings - Fork 0
Drupal
Everything Drupal!!
discovery : how are the fields indexed ?
using a call back function to 'extend' the search API (Search API Solr)
within i is a function called alterItems
and here is where the paragraph fields in an array.
class CorpSearchParagraphAdd extends SearchApiAbstractAlterCallback {
public function alterItems(array &$items) {
$paragraphs_fields = array('field_paragraphs_content', 'field_sections', 'field_grantholder_institution');
// // Prevent session information from being saved while indexing.
// drupal_save_session(FALSE);
// Force the current user to anonymous to prevent access bypass in search
// indexes.
// $original_user = $GLOBALS['user'];
// $GLOBALS['user'] = drupal_anonymous_user();
foreach ($items as &$item) {
dpm($item);
foreach ($paragraphs_fields as $paragraphs_field) {
if (isset($item->{$item->item_type}->{$paragraphs_field})) {
try {
$field_array = field_view_field($item->item_type, $item->{$item->item_type}, $paragraphs_field);
$markup = render($field_array);
$item->paragraph_html = strip_tags($markup);
// Get label from promos and add it to person title.
preg_match_all('/<h3 class="promo__heading">(.*?)<\/h3>/', $markup, $matches);
if ($matches[1]) {
$item->paragraph_title = implode('', $matches[1]);
}
}
catch (Exception $e) {
$item->paragraph_title = NULL;
$item->paragraph_html = NULL;
}
break;
}
}
}
download zip file from contrib module site, copy the folder to sites/all/modules/contrib the run drush en <module_name> to enable
run drush en stage_file_proxy
if there's an error, find settings.php
add
$conf['stage_file_proxy_origin'] = 'https://WellcomeWeb:2!5Eust0nRd@wt-corporate-master.codeenigma.net';
$conf['stage_file_proxy_use_imagecache_root'] = TRUE;
if you can edit and need to change permissions, the cd in the right dir and run git config core.fileMode false, sudo chmod 777 settings.php
Request a copy of the database Once you receive it, save a copy for database locally in your drupal file system (local site folder).
-
Go to vagrant terminal (virtual machine) using following command
$ vagrant ssh
-
Run following command to import database
$ mysql -uroot -proot drupal < /drupal_file_system_path/your_database.sql
so in the case of 14th nov:
$ mysql -uroot -proot drupal < var/www/corporate/www/mariadb-init/corpdb081118.sql
First request a copy of the db from a backend dev on the team.
copy the db into the directory for your local site in the mariadb-init folder
then enter the directory for the vagrant
and then vagrant up
then vagrant ssh
then drush sql-cli < /mariadb-init/dump-file.sql
MUST USE THIS COMMAND
but if I'm inside mariab-init then run drush sql-cli < dump-file.sql
and it should take a few minutes but will work 😃
(this was executed on weds 6th feb, for tkt #3724)
run...
$ drush updatedb , or drush updb
$ drush fra -y (this is a feature revert)
$ drush cc all
run this command inside the drupal vm :
$ drush uli
then run but copy from user to your local site URL:
http://default/user/reset/1/1542213062/V9RBeawoSy9wbQY62Rd1pLco3JmhkAxc959CfUYGawA/login
/user/reset/1/1542213062/V9RBeawoSy9wbQY62Rd1pLco3JmhkAxc959CfUYGawA/login
- Go to features
- then click the type of of content so for example Entity - Node, Entity - Paragraph...
- and then got to then check the state, look for your page (landing page for example) click it
- and see it's been overidden then select this
- go to view
- and then click revert changes
to check details for solr etc this is the place to go, click solr, open
to update solr, go to the drupal UI > configuration > search and meta data > Search API > Corporate prod (0verridden)
solr host: localhost
path : 8983
solr path: /solr/d7
save settings
Drupal Theming
- overview of template.php
three steps to theming
- template files (.tpl.php) -replacing tpl.php.varaible
- theme functions overriding
inside the developers theme directory
MyTheme dir/ folder
- myTheme.info
- page.tpl.php
- template.php
template.php
contains pure php a place for extensive logic or sql queries
to provide a new variable in the file, you must create a new function and then prefix the name of the theme at the start. also need to add underscore so for example.
myTheme_preprocess(&$vars, $hooks) the name of the hook should be the same name as the tpl.php file which is...
theme functions are never called directly. So for example it is written as follows: -theme('username', $object)